aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWPT Sync Bot <josh+wptsync@joshmatthews.net>2019-04-25 22:18:37 -0400
committerWPT Sync Bot <josh+wptsync@joshmatthews.net>2019-04-26 01:35:21 -0400
commitefca990ffef88789a95c443decb765bd09891aad (patch)
treedb05aeed5bb57a105dd341198211ba916f3b581a
parent880f3b8b7a34b48449c372238b32333fe1f1cc4f (diff)
downloadservo-efca990ffef88789a95c443decb765bd09891aad.tar.gz
servo-efca990ffef88789a95c443decb765bd09891aad.zip
Update web-platform-tests to revision d3cf77a7b8c20c678b725238eaa8a72eca3787ae
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini3
-rw-r--r--tests/wpt/metadata/MANIFEST.json1219
-rw-r--r--tests/wpt/metadata/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html.ini2
-rw-r--r--tests/wpt/metadata/css/CSS2/ui/outline-applies-to-016.xht.ini2
-rw-r--r--tests/wpt/metadata/css/CSS2/ui/outline-applies-to-017.xht.ini2
-rw-r--r--tests/wpt/metadata/css/css-animations/animationevent-marker-pseudoelement.html.ini5
-rw-r--r--tests/wpt/metadata/css/css-animations/event-order.tentative.html.ini15
-rw-r--r--tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-016.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-017.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-transform/text-transform-multiple-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-transitions/before-load-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/changing-while-transition-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/changing-while-transition-002.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/changing-while-transition-003.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transitions/disconnected-element-001.html.ini11
-rw-r--r--tests/wpt/metadata/css/css-transitions/non-rendered-element-001.html.ini8
-rw-r--r--tests/wpt/metadata/css/css-transitions/non-rendered-element-002.html.ini8
-rw-r--r--tests/wpt/metadata/css/css-transitions/starting-of-transitions-001.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-variables/wide-keyword-fallback.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/outer-svg.html.ini7
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-001.tentative.html.ini7
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-002.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-003.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-004.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-005.tentative.html.ini5
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-007.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini38
-rw-r--r--tests/wpt/metadata/fetch/stale-while-revalidate/fetch-sw.https.tentative.html.ini1
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini4
-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/cross-origin-opener/new_window_same_site.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini20
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini10
-rw-r--r--tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini5
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini8
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini7
-rw-r--r--tests/wpt/metadata/resource-timing/nested-context-navigations-embed.html.ini20
-rw-r--r--tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini20
-rw-r--r--tests/wpt/metadata/resource-timing/nested-context-navigations-object.html.ini20
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/.gitignore1
-rw-r--r--tests/wpt/web-platform-tests/.pyup.yml3
-rw-r--r--tests/wpt/web-platform-tests/.well-known/idp-proxy/mock-idp.js30
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html93
-rw-r--r--tests/wpt/web-platform-tests/CONTRIBUTING.md30
-rw-r--r--tests/wpt/web-platform-tests/LICENSE.md34
-rw-r--r--tests/wpt/web-platform-tests/common/canvas-tests.js91
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/README.md9
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/resources/common.js513
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/scope/document.py35
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/scope/template/document.html.template30
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/scope/util.py42
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/tools/generate.py189
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/tools/template/disclaimer.template (renamed from tests/wpt/web-platform-tests/mixed-content/generic/template/disclaimer.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/tools/template/spec_json.js.template (renamed from tests/wpt/web-platform-tests/mixed-content/generic/template/spec_json.js.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/tools/template/test.debug.html.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/test.release.html.template)13
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/tools/template/test.release.html.template (renamed from tests/wpt/web-platform-tests/mixed-content/generic/template/test.release.html.template)6
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/tools/util.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/tools/common_paths.py)21
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html15
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184-ref.xht18
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184.xht23
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016-ref.xht24
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016.xht30
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-017.xht30
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html87
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html35
-rw-r--r--tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html150
-rw-r--r--tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1-ref.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html221
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored.html29
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/grid-layout-properties.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-lists/list-item-definition-ref.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-lists/list-item-definition.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009-ref.html36
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010-ref.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011-ref.html36
-rw-r--r--tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/inheritance.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/parsing/scroll-snap-type-valid.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-padding.html49
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-transformed-target.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-scroll-snap/unreachable-snap-positions.html53
-rw-r--r--tests/wpt/web-platform-tests/css/css-shadow-parts/multiple-parts.html44
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-015.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-016.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-017.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-015-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-016-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-017-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/parsing/text-transform-valid.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-multiple-001-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-multiple-001.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html89
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/README.md1
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/before-DOMContentLoaded-001.html148
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/before-load-001.html190
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-001.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-002.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-003.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition.html146
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/currentcolor-animation-001.html71
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/detached-container-001.html131
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/disconnected-element-001.html203
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/hidden-container-001.html125
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-001.html127
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-002.html90
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/starting-of-transitions-001.html45
-rw-r--r--tests/wpt/web-platform-tests/css/css-transitions/support/helper.js1
-rw-r--r--tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback.html21
-rw-r--r--tests/wpt/web-platform-tests/css/cssom-view/matchMedia-display-none-iframe.html19
-rw-r--r--tests/wpt/web-platform-tests/css/cssom-view/outer-svg.html35
-rw-r--r--tests/wpt/web-platform-tests/css/cssom-view/resize-event-on-initial-layout.html18
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.tentative.html45
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.tentative.html38
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.tentative.html32
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.tentative.html40
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.tentative.html27
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.tentative.html26
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.tentative.html27
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-ref.html7
-rw-r--r--tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html15
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use.html25
-rw-r--r--tests/wpt/web-platform-tests/editing/data/removeformat.js40
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html41
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html4
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/reporting/xr-reporting.https.html2
-rw-r--r--tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html30
-rw-r--r--tests/wpt/web-platform-tests/fetch/stale-while-revalidate/fetch-sw.https.tentative.html16
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html26
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html.headers1
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-opener/resources/postback.sub.html13
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html18
-rw-r--r--tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html.headers1
-rw-r--r--tests/wpt/web-platform-tests/html/interaction/focus/focus-file-input.html18
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html31
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html40
-rw-r--r--tests/wpt/web-platform-tests/html/syntax/parsing/unclosed-svg-script.html8
-rw-r--r--tests/wpt/web-platform-tests/intersection-observer/resources/scaled-target-subframe.html43
-rw-r--r--tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-effects.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-occlusion.sub.html2
-rw-r--r--tests/wpt/web-platform-tests/intersection-observer/v2/scaled-target.html62
-rw-r--r--tests/wpt/web-platform-tests/lint.whitelist3
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js21
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/template/test.debug.html.template31
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/template/test.js.template13
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/template/test_description.template7
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/tools/common_paths.py61
-rwxr-xr-xtests/wpt/web-platform-tests/mixed-content/generic/tools/generate.py211
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html5
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js131
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/disclaimer.template1
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/spec_json.js.template1
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/test.debug.html.template70
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/test.js.template14
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/test_description.template5
-rwxr-xr-xtests/wpt/web-platform-tests/referrer-policy/generic/tools/generate.py235
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html2
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-embed.html19
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-iframe.html19
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-object.html19
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html31
-rw-r--r--tests/wpt/web-platform-tests/tools/lint/lint.py20
-rw-r--r--tests/wpt/web-platform-tests/tools/lint/rules.py47
-rw-r--r--tests/wpt/web-platform-tests/tools/manifest/XMLParser.py7
-rw-r--r--tests/wpt/web-platform-tests/tools/manifest/item.py7
-rw-r--r--tests/wpt/web-platform-tests/tools/manifest/manifest.py11
-rw-r--r--tests/wpt/web-platform-tests/tools/manifest/sourcefile.py12
-rwxr-xr-xtests/wpt/web-platform-tests/tools/manifest/update.py2
-rw-r--r--tests/wpt/web-platform-tests/tools/manifest/vcs.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/mypy.ini25
-rw-r--r--tests/wpt/web-platform-tests/tools/requirements_mypy.txt3
-rw-r--r--tests/wpt/web-platform-tests/tools/runner/runner.js16
-rw-r--r--tests/wpt/web-platform-tests/tools/tox.ini9
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/testfiles.py2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py9
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py5
-rw-r--r--tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js12
-rw-r--r--tests/wpt/web-platform-tests/web-animations/interfaces/Animatable/animate.html14
-rw-r--r--tests/wpt/web-platform-tests/web-animations/testcommon.js3
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/add_cookie/add.py8
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/properties.py71
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/execute_script/properties.py67
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/get_element_property/get.py85
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/get_named_cookie/get.py6
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/message-channels/worker-post-after-close.html36
-rw-r--r--tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.https.html (renamed from tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.html)43
-rw-r--r--tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-peerIdentity.https.html (renamed from tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-peerIdentity.html)70
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html1
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html14
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html8
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html27
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html43
-rw-r--r--tests/wpt/web-platform-tests/webrtc/no-media-call.html2
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive_unsupported.https.html4
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_non_immersive.https.html4
541 files changed, 8027 insertions, 2303 deletions
diff --git a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
index 3a3d15b8406..3b874fc1748 100644
--- a/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-with-fetch.any.js.ini
@@ -14,9 +14,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
- [Revoke blob URL after calling fetch, fetch should succeed]
- expected: FAIL
-
[url-with-fetch.any.html]
[Untitled]
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 6b834b29d16..09fb70cf5d7 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -46283,6 +46283,18 @@
{}
]
],
+ "css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html": [
+ [
+ "css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html",
+ [
+ [
+ "/css/CSS2/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/CSS2/floats-clear/adjoining-float-new-fc.html": [
[
"css/CSS2/floats-clear/adjoining-float-new-fc.html",
@@ -83723,18 +83735,6 @@
{}
]
],
- "css/CSS2/selectors/first-letter-punctuation-184.xht": [
- [
- "css/CSS2/selectors/first-letter-punctuation-184.xht",
- [
- [
- "/css/CSS2/selectors/first-letter-punctuation-184-ref.xht",
- "=="
- ]
- ],
- {}
- ]
- ],
"css/CSS2/selectors/first-letter-punctuation-185.xht": [
[
"css/CSS2/selectors/first-letter-punctuation-185.xht",
@@ -97363,6 +97363,30 @@
{}
]
],
+ "css/CSS2/ui/outline-applies-to-016.xht": [
+ [
+ "css/CSS2/ui/outline-applies-to-016.xht",
+ [
+ [
+ "/css/CSS2/ui/outline-applies-to-016-ref.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/CSS2/ui/outline-applies-to-017.xht": [
+ [
+ "css/CSS2/ui/outline-applies-to-017.xht",
+ [
+ [
+ "/css/CSS2/ui/outline-applies-to-016-ref.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/CSS2/ui/outline-color-001.xht": [
[
"css/CSS2/ui/outline-color-001.xht",
@@ -114183,6 +114207,18 @@
{}
]
],
+ "css/css-display/display-contents-shadow-dom-1.html": [
+ [
+ "css/css-display/display-contents-shadow-dom-1.html",
+ [
+ [
+ "/css/css-display/display-contents-shadow-dom-1-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-display/display-contents-shadow-host-whitespace.html": [
[
"css/css-display/display-contents-shadow-host-whitespace.html",
@@ -122221,6 +122257,18 @@
{}
]
],
+ "css/css-fonts/quoted-generic-ignored.html": [
+ [
+ "css/css-fonts/quoted-generic-ignored.html",
+ [
+ [
+ "/css/css-fonts/quoted-generic-ignored-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-fonts/variations/font-descriptor-range-reversed.html": [
[
"css/css-fonts/variations/font-descriptor-range-reversed.html",
@@ -130921,6 +130969,18 @@
{}
]
],
+ "css/css-multicol/multicol-span-all-children-height-001.html": [
+ [
+ "css/css-multicol/multicol-span-all-children-height-001.html",
+ [
+ [
+ "/css/css-multicol/multicol-span-all-children-height-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-multicol/multicol-span-all-dynamic-add-001.html": [
[
"css/css-multicol/multicol-span-all-dynamic-add-001.html",
@@ -133813,6 +133873,42 @@
{}
]
],
+ "css/css-pseudo/marker-content-009.html": [
+ [
+ "css/css-pseudo/marker-content-009.html",
+ [
+ [
+ "/css/css-pseudo/marker-content-009-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-pseudo/marker-content-010.html": [
+ [
+ "css/css-pseudo/marker-content-010.html",
+ [
+ [
+ "/css/css-pseudo/marker-content-010-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-pseudo/marker-content-011.html": [
+ [
+ "css/css-pseudo/marker-content-011.html",
+ [
+ [
+ "/css/css-pseudo/marker-content-011-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-pseudo/marker-display-dynamic-001.html": [
[
"css/css-pseudo/marker-display-dynamic-001.html",
@@ -142265,6 +142361,42 @@
{}
]
],
+ "css/css-text/line-breaking/line-breaking-015.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-015.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-015-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-016.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-016.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-016-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-017.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-017.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-017-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/line-breaking/line-breaking-atomic-001.html": [
[
"css/css-text/line-breaking/line-breaking-atomic-001.html",
@@ -144317,6 +144449,18 @@
{}
]
],
+ "css/css-text/text-transform/text-transform-multiple-001.html": [
+ [
+ "css/css-text/text-transform/text-transform-multiple-001.html",
+ [
+ [
+ "/css/css-text/text-transform/reference/text-transform-multiple-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/text-transform/text-transform-none-001.xht": [
[
"css/css-text/text-transform/text-transform-none-001.xht",
@@ -161551,6 +161695,18 @@
{}
]
],
+ "css/css-variables/wide-keyword-fallback.html": [
+ [
+ "css/css-variables/wide-keyword-fallback.html",
+ [
+ [
+ "/css/css-variables/wide-keyword-fallback-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-will-change/will-change-abspos-cb-001.html": [
[
"css/css-will-change/will-change-abspos-cb-001.html",
@@ -173307,6 +173463,18 @@
{}
]
],
+ "css/cssom/HTMLLinkElement-disabled-alternate.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-alternate.tentative.html",
+ [
+ [
+ "/css/cssom/HTMLLinkElement-disabled-alternate-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/cssom/insertRule-from-script.html": [
[
"css/cssom/insertRule-from-script.html",
@@ -176643,6 +176811,18 @@
{}
]
],
+ "css/selectors/sharing-in-svg-use.html": [
+ [
+ "css/selectors/sharing-in-svg-use.html",
+ [
+ [
+ "/css/selectors/sharing-in-svg-use-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/vendor-imports/mozilla/mozilla-central-reftests/align3/flex-abspos-staticpos-align-content-001.html": [
[
"css/vendor-imports/mozilla/mozilla-central-reftests/align3/flex-abspos-staticpos-align-content-001.html",
@@ -209011,6 +209191,21 @@
{}
]
],
+ "common/security-features/scope/document.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/scope/template/document.html.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/scope/util.py": [
+ [
+ {}
+ ]
+ ],
"common/security-features/subresource/__init__.py": [
[
{}
@@ -209121,6 +209316,36 @@
{}
]
],
+ "common/security-features/tools/generate.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/tools/template/disclaimer.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/tools/template/spec_json.js.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/tools/template/test.debug.html.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/tools/template/test.release.html.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/tools/util.py": [
+ [
+ {}
+ ]
+ ],
"common/sleep.py": [
[
{}
@@ -248671,11 +248896,6 @@
{}
]
],
- "css/CSS2/selectors/first-letter-punctuation-184-ref.xht": [
- [
- {}
- ]
- ],
"css/CSS2/selectors/first-letter-punctuation-185-ref.xht": [
[
{}
@@ -252671,6 +252891,11 @@
{}
]
],
+ "css/CSS2/ui/outline-applies-to-016-ref.xht": [
+ [
+ {}
+ ]
+ ],
"css/CSS2/ui/outline-color-049-ref.xht": [
[
{}
@@ -259306,6 +259531,11 @@
{}
]
],
+ "css/css-display/display-contents-shadow-dom-1-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-display/display-contents-sharing-001-ref.html": [
[
{}
@@ -261486,6 +261716,11 @@
{}
]
],
+ "css/css-fonts/quoted-generic-ignored-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-fonts/support/100x100-lime.png": [
[
{}
@@ -271116,6 +271351,11 @@
{}
]
],
+ "css/css-multicol/multicol-span-all-children-height-001-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-multicol/multicol-span-all-dynamic-add-001-ref.html": [
[
{}
@@ -272216,6 +272456,21 @@
{}
]
],
+ "css/css-pseudo/marker-content-009-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-pseudo/marker-content-010-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-pseudo/marker-content-011-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-pseudo/marker-font-properties-ref.html": [
[
{}
@@ -275841,6 +276096,21 @@
{}
]
],
+ "css/css-text/line-breaking/reference/line-breaking-015-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-016-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-017-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html": [
[
{}
@@ -276686,6 +276956,11 @@
{}
]
],
+ "css/css-text/text-transform/reference/text-transform-multiple-001-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-text/text-transform/reference/text-transform-none-001-ref.xht": [
[
{}
@@ -280791,6 +281066,11 @@
{}
]
],
+ "css/css-variables/wide-keyword-fallback-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-will-change/META.yml": [
[
{}
@@ -283801,6 +284081,11 @@
{}
]
],
+ "css/cssom/HTMLLinkElement-disabled-alternate-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/cssom/META.yml": [
[
{}
@@ -284996,6 +285281,11 @@
{}
]
],
+ "css/selectors/sharing-in-svg-use-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/support/1x1-green.png": [
[
{}
@@ -296396,6 +296686,26 @@
{}
]
],
+ "html/cross-origin-opener/new_window_same_site.html.headers": [
+ [
+ {}
+ ]
+ ],
+ "html/cross-origin-opener/resources/postback.sub.html": [
+ [
+ {}
+ ]
+ ],
+ "html/cross-origin-opener/resources/window.sub.html": [
+ [
+ {}
+ ]
+ ],
+ "html/cross-origin-opener/resources/window.sub.html.headers": [
+ [
+ {}
+ ]
+ ],
"html/dom/documents/dom-tree-accessors/cross-domain.js": [
[
{}
@@ -306786,6 +307096,11 @@
{}
]
],
+ "intersection-observer/resources/scaled-target-subframe.html": [
+ [
+ {}
+ ]
+ ],
"intersection-observer/resources/timestamp-subframe.html": [
[
{}
@@ -307996,36 +308311,6 @@
{}
]
],
- "mixed-content/generic/template/disclaimer.template": [
- [
- {}
- ]
- ],
- "mixed-content/generic/template/spec_json.js.template": [
- [
- {}
- ]
- ],
- "mixed-content/generic/template/test.debug.html.template": [
- [
- {}
- ]
- ],
- "mixed-content/generic/template/test.js.template": [
- [
- {}
- ]
- ],
- "mixed-content/generic/template/test.release.html.template": [
- [
- {}
- ]
- ],
- "mixed-content/generic/template/test_description.template": [
- [
- {}
- ]
- ],
"mixed-content/generic/tools/__init__.py": [
[
{}
@@ -308036,11 +308321,6 @@
{}
]
],
- "mixed-content/generic/tools/common_paths.py": [
- [
- {}
- ]
- ],
"mixed-content/generic/tools/generate.py": [
[
{}
@@ -310011,36 +310291,6 @@
{}
]
],
- "referrer-policy/generic/template/disclaimer.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/spec_json.js.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/test.debug.html.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/test.js.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/test.release.html.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/test_description.template": [
- [
- {}
- ]
- ],
"referrer-policy/generic/tools/__init__.py": [
[
{}
@@ -310051,11 +310301,6 @@
{}
]
],
- "referrer-policy/generic/tools/common_paths.py": [
- [
- {}
- ]
- ],
"referrer-policy/generic/tools/generate.py": [
[
{}
@@ -319786,6 +320031,11 @@
{}
]
],
+ "tools/mypy.ini": [
+ [
+ {}
+ ]
+ ],
"tools/py27-flake8.ini": [
[
{}
@@ -320286,6 +320536,11 @@
{}
]
],
+ "tools/requirements_mypy.txt": [
+ [
+ {}
+ ]
+ ],
"tools/runner/css/bootstrap-theme.min.css": [
[
{}
@@ -353713,6 +353968,12 @@
{}
]
],
+ "css/css-animations/animationevent-marker-pseudoelement.html": [
+ [
+ "css/css-animations/animationevent-marker-pseudoelement.html",
+ {}
+ ]
+ ],
"css/css-animations/animationevent-pseudoelement.html": [
[
"css/css-animations/animationevent-pseudoelement.html",
@@ -357689,6 +357950,12 @@
{}
]
],
+ "css/css-lists/li-counter-increment-computed-style.html": [
+ [
+ "css/css-lists/li-counter-increment-computed-style.html",
+ {}
+ ]
+ ],
"css/css-lists/list-and-block-textarea-001.html": [
[
"css/css-lists/list-and-block-textarea-001.html",
@@ -359345,12 +359612,24 @@
{}
]
],
+ "css/css-scroll-snap/scroll-padding.html": [
+ [
+ "css/css-scroll-snap/scroll-padding.html",
+ {}
+ ]
+ ],
"css/css-scroll-snap/scroll-snap-stop-always.html": [
[
"css/css-scroll-snap/scroll-snap-stop-always.html",
{}
]
],
+ "css/css-scroll-snap/scroll-snap-type-on-root-element.html": [
+ [
+ "css/css-scroll-snap/scroll-snap-type-on-root-element.html",
+ {}
+ ]
+ ],
"css/css-scroll-snap/scroll-snap-type-proximity.html": [
[
"css/css-scroll-snap/scroll-snap-type-proximity.html",
@@ -359369,12 +359648,24 @@
{}
]
],
+ "css/css-scroll-snap/snap-to-transformed-target.html": [
+ [
+ "css/css-scroll-snap/snap-to-transformed-target.html",
+ {}
+ ]
+ ],
"css/css-scroll-snap/snap-to-visible-areas.html": [
[
"css/css-scroll-snap/snap-to-visible-areas.html",
{}
]
],
+ "css/css-scroll-snap/unreachable-snap-positions.html": [
+ [
+ "css/css-scroll-snap/unreachable-snap-positions.html",
+ {}
+ ]
+ ],
"css/css-scrollbars/auto-scrollbar-inline-children.html": [
[
"css/css-scrollbars/auto-scrollbar-inline-children.html",
@@ -359483,6 +359774,12 @@
{}
]
],
+ "css/css-shadow-parts/multiple-parts.html": [
+ [
+ "css/css-shadow-parts/multiple-parts.html",
+ {}
+ ]
+ ],
"css/css-shadow-parts/part-name-idl.html": [
[
"css/css-shadow-parts/part-name-idl.html",
@@ -362471,21 +362768,27 @@
{}
]
],
- "css/css-transitions/before-DOMContentLoaded-001.html": [
+ "css/css-transitions/before-load-001.html": [
[
- "css/css-transitions/before-DOMContentLoaded-001.html",
+ "css/css-transitions/before-load-001.html",
{}
]
],
- "css/css-transitions/before-load-001.html": [
+ "css/css-transitions/changing-while-transition-001.html": [
[
- "css/css-transitions/before-load-001.html",
+ "css/css-transitions/changing-while-transition-001.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/changing-while-transition-002.html": [
+ [
+ "css/css-transitions/changing-while-transition-002.html",
{}
]
],
- "css/css-transitions/changing-while-transition.html": [
+ "css/css-transitions/changing-while-transition-003.html": [
[
- "css/css-transitions/changing-while-transition.html",
+ "css/css-transitions/changing-while-transition-003.html",
{}
]
],
@@ -362495,9 +362798,9 @@
{}
]
],
- "css/css-transitions/detached-container-001.html": [
+ "css/css-transitions/disconnected-element-001.html": [
[
- "css/css-transitions/detached-container-001.html",
+ "css/css-transitions/disconnected-element-001.html",
{}
]
],
@@ -362549,12 +362852,6 @@
{}
]
],
- "css/css-transitions/hidden-container-001.html": [
- [
- "css/css-transitions/hidden-container-001.html",
- {}
- ]
- ],
"css/css-transitions/historical.html": [
[
"css/css-transitions/historical.html",
@@ -362573,6 +362870,18 @@
{}
]
],
+ "css/css-transitions/non-rendered-element-001.html": [
+ [
+ "css/css-transitions/non-rendered-element-001.html",
+ {}
+ ]
+ ],
+ "css/css-transitions/non-rendered-element-002.html": [
+ [
+ "css/css-transitions/non-rendered-element-002.html",
+ {}
+ ]
+ ],
"css/css-transitions/parsing/transition-delay-computed.html": [
[
"css/css-transitions/parsing/transition-delay-computed.html",
@@ -362709,6 +363018,12 @@
{}
]
],
+ "css/css-transitions/starting-of-transitions-001.html": [
+ [
+ "css/css-transitions/starting-of-transitions-001.html",
+ {}
+ ]
+ ],
"css/css-transitions/transition-001.html": [
[
"css/css-transitions/transition-001.html",
@@ -366235,6 +366550,12 @@
{}
]
],
+ "css/cssom-view/matchMedia-display-none-iframe.html": [
+ [
+ "css/cssom-view/matchMedia-display-none-iframe.html",
+ {}
+ ]
+ ],
"css/cssom-view/matchMedia.xht": [
[
"css/cssom-view/matchMedia.xht",
@@ -366297,6 +366618,18 @@
{}
]
],
+ "css/cssom-view/outer-svg.html": [
+ [
+ "css/cssom-view/outer-svg.html",
+ {}
+ ]
+ ],
+ "css/cssom-view/resize-event-on-initial-layout.html": [
+ [
+ "css/cssom-view/resize-event-on-initial-layout.html",
+ {}
+ ]
+ ],
"css/cssom-view/screenLeftTop.html": [
[
"css/cssom-view/screenLeftTop.html",
@@ -366561,6 +366894,48 @@
{}
]
],
+ "css/cssom/HTMLLinkElement-disabled-001.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-001.tentative.html",
+ {}
+ ]
+ ],
+ "css/cssom/HTMLLinkElement-disabled-002.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-002.tentative.html",
+ {}
+ ]
+ ],
+ "css/cssom/HTMLLinkElement-disabled-003.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-003.tentative.html",
+ {}
+ ]
+ ],
+ "css/cssom/HTMLLinkElement-disabled-004.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-004.tentative.html",
+ {}
+ ]
+ ],
+ "css/cssom/HTMLLinkElement-disabled-005.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-005.tentative.html",
+ {}
+ ]
+ ],
+ "css/cssom/HTMLLinkElement-disabled-006.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-006.tentative.html",
+ {}
+ ]
+ ],
+ "css/cssom/HTMLLinkElement-disabled-007.tentative.html": [
+ [
+ "css/cssom/HTMLLinkElement-disabled-007.tentative.html",
+ {}
+ ]
+ ],
"css/cssom/MediaList.html": [
[
"css/cssom/MediaList.html",
@@ -371488,6 +371863,12 @@
{}
]
],
+ "element-timing/observe-shadow-image.html": [
+ [
+ "element-timing/observe-shadow-image.html",
+ {}
+ ]
+ ],
"element-timing/observe-svg-image.html": [
[
"element-timing/observe-svg-image.html",
@@ -387777,6 +388158,12 @@
{}
]
],
+ "html/cross-origin-opener/new_window_same_site.html": [
+ [
+ "html/cross-origin-opener/new_window_same_site.html",
+ {}
+ ]
+ ],
"html/dom/documents/dom-tree-accessors/Document.body.html": [
[
"html/dom/documents/dom-tree-accessors/Document.body.html",
@@ -388905,6 +389292,12 @@
}
]
],
+ "html/interaction/focus/focus-file-input.html": [
+ [
+ "html/interaction/focus/focus-file-input.html",
+ {}
+ ]
+ ],
"html/interaction/focus/focus-management/focus-event-targets-simple.html": [
[
"html/interaction/focus/focus-management/focus-event-targets-simple.html",
@@ -391769,6 +392162,12 @@
{}
]
],
+ "html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html": [
+ [
+ "html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html",
+ {}
+ ]
+ ],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html": [
[
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html",
@@ -400646,6 +401045,12 @@
{}
]
],
+ "intersection-observer/v2/scaled-target.html": [
+ [
+ "intersection-observer/v2/scaled-target.html",
+ {}
+ ]
+ ],
"intersection-observer/v2/simple-effects.html": [
[
"intersection-observer/v2/simple-effects.html",
@@ -427687,9 +428092,25 @@
}
]
],
- "resource-timing/nested-context-navigations.html": [
+ "resource-timing/nested-context-navigations-embed.html": [
[
- "resource-timing/nested-context-navigations.html",
+ "resource-timing/nested-context-navigations-embed.html",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "resource-timing/nested-context-navigations-iframe.html": [
+ [
+ "resource-timing/nested-context-navigations-iframe.html",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
+ "resource-timing/nested-context-navigations-object.html": [
+ [
+ "resource-timing/nested-context-navigations-object.html",
{
"timeout": "long"
}
@@ -444551,6 +444972,12 @@
{}
]
],
+ "webmessaging/message-channels/worker-post-after-close.html": [
+ [
+ "webmessaging/message-channels/worker-post-after-close.html",
+ {}
+ ]
+ ],
"webmessaging/message-channels/worker.html": [
[
"webmessaging/message-channels/worker.html",
@@ -445048,15 +445475,15 @@
{}
]
],
- "webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.html": [
+ "webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.https.html": [
[
- "webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.html",
+ "webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.https.html",
{}
]
],
- "webrtc-identity/RTCPeerConnection-peerIdentity.html": [
+ "webrtc-identity/RTCPeerConnection-peerIdentity.https.html": [
[
- "webrtc-identity/RTCPeerConnection-peerIdentity.html",
+ "webrtc-identity/RTCPeerConnection-peerIdentity.https.html",
{}
]
],
@@ -445174,7 +445601,9 @@
"webrtc/RTCDataChannel-send.html": [
[
"webrtc/RTCDataChannel-send.html",
- {}
+ {
+ "timeout": "long"
+ }
]
],
"webrtc/RTCDataChannelEvent-constructor.html": [
@@ -445594,7 +446023,9 @@
"webrtc/RTCRtpTransceiver.https.html": [
[
"webrtc/RTCRtpTransceiver.https.html",
- {}
+ {
+ "timeout": "long"
+ }
]
],
"webrtc/RTCSctpTransport-constructor.html": [
@@ -474331,6 +474762,12 @@
{}
]
],
+ "webdriver/tests/execute_async_script/properties.py": [
+ [
+ "webdriver/tests/execute_async_script/properties.py",
+ {}
+ ]
+ ],
"webdriver/tests/execute_async_script/user_prompts.py": [
[
"webdriver/tests/execute_async_script/user_prompts.py",
@@ -474369,6 +474806,12 @@
{}
]
],
+ "webdriver/tests/execute_script/properties.py": [
+ [
+ "webdriver/tests/execute_script/properties.py",
+ {}
+ ]
+ ],
"webdriver/tests/execute_script/user_prompts.py": [
[
"webdriver/tests/execute_script/user_prompts.py",
@@ -475091,7 +475534,7 @@
"support"
],
".gitignore": [
- "cc4bd700eeaed676aad4548ad8af7287e70d18bf",
+ "0f080ca986bcf8f3394385c0f5c257073ca94551",
"support"
],
".gitmodules": [
@@ -475103,7 +475546,7 @@
"support"
],
".pyup.yml": [
- "2249e1a89dc7687fa04a38e1704ee22c325bd15b",
+ "f31f24406307e014bdbe568f3aba8a23b0cb2a86",
"support"
],
".taskcluster.yml": [
@@ -475123,7 +475566,7 @@
"support"
],
".well-known/idp-proxy/mock-idp.js": [
- "242b4ef56f60a3472899939426246e764e842a65",
+ "e73ca22bb2ae79a6ceec2ebbf407ed22b1d0b435",
"support"
],
".well-known/origin-policy/policy-csp-1": [
@@ -477607,7 +478050,7 @@
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-origin.sub.html": [
- "ae8c70f9c0799c8834f0167a47e7040a5927514c",
+ "9f19f6ae66b58f93c23ba8aeb095838d9a6cc5c9",
"testharness"
],
"2dcontext/imagebitmap/createImageBitmap-sizeOverflow.html": [
@@ -479475,7 +479918,7 @@
"support"
],
"CONTRIBUTING.md": [
- "427ec682793f7eb074577ebb07dd4e24e1bb02f2",
+ "baa208e30f4eca8ca10c0e9cb6f89f2d0a726f2b",
"support"
],
"FileAPI/BlobURL/support/file_test2.txt": [
@@ -481279,7 +481722,7 @@
"support"
],
"LICENSE.md": [
- "6b346a528cd7bdce0315dcd3cf83ebaa826473e1",
+ "ad4858c8745cfa1b330a52d27c621a09aa3112e0",
"support"
],
"README.md": [
@@ -486575,7 +487018,7 @@
"support"
],
"common/canvas-tests.js": [
- "732f2a435b8194e06c7b5d89d5d6aa58b0aca2e2",
+ "2d0397b42d2e74225099155d59d62adff9d74b2d",
"support"
],
"common/canvas-tests.js.headers": [
@@ -486667,11 +487110,23 @@
"support"
],
"common/security-features/README.md": [
- "45cd74ede74d6c2fdaac80690a4e8a6b99f4976c",
+ "a2ae9aa8e16bcd30328a37721d7ec7adf5ebbfbf",
"support"
],
"common/security-features/resources/common.js": [
- "936b39e50ed57fdf9293333658fe8966c130712b",
+ "782e428c66f80b94b289a9cce5d6fec0498ef564",
+ "support"
+ ],
+ "common/security-features/scope/document.py": [
+ "3fc61a1e7baa3bc60968d578930f25f621b536f3",
+ "support"
+ ],
+ "common/security-features/scope/template/document.html.template": [
+ "feccb69e9de4cd001fd7446ffd3fa4875a906fe2",
+ "support"
+ ],
+ "common/security-features/scope/util.py": [
+ "42f8326b36aab10751cf2052354925a7ad0ca867",
"support"
],
"common/security-features/subresource/__init__.py": [
@@ -486762,6 +487217,30 @@
"82a4cb0b657956cb20efcfb0142ad4040875eabe",
"support"
],
+ "common/security-features/tools/generate.py": [
+ "50c3a2c250c9d992377809cb731441fd6588263d",
+ "support"
+ ],
+ "common/security-features/tools/template/disclaimer.template": [
+ "66c43ed6f21324d44b1596c09a02fecf53f41323",
+ "support"
+ ],
+ "common/security-features/tools/template/spec_json.js.template": [
+ "e4cbd03425968819d773460335404584d9d375fc",
+ "support"
+ ],
+ "common/security-features/tools/template/test.debug.html.template": [
+ "7d4a9f126641548109f72d85505c349bc26384fd",
+ "support"
+ ],
+ "common/security-features/tools/template/test.release.html.template": [
+ "091f59be90d026191a860680e3670b992914ab89",
+ "support"
+ ],
+ "common/security-features/tools/util.py": [
+ "77b89769ca27f606ae6adb080fbdc5ee9df8966d",
+ "support"
+ ],
"common/sleep.py": [
"2e803b1b262423e219be592fab548ada982bc439",
"support"
@@ -527298,6 +527777,10 @@
"13041a27496b19d58c2559bb6c99c4d71f9b08bd",
"reftest"
],
+ "css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html": [
+ "426b47537bf1069121c82dbbb8d4d034ff437244",
+ "reftest"
+ ],
"css/CSS2/floats-clear/adjoining-float-new-fc.html": [
"587bbf51b7da9a1d620f35e0b2ece720ddd4ee1e",
"reftest"
@@ -549678,14 +550161,6 @@
"5527731417525faec185b50acac37fa7e3cd7b67",
"reftest"
],
- "css/CSS2/selectors/first-letter-punctuation-184-ref.xht": [
- "a3a002927a5e7cde53f7d4150011b7e9590fa8b0",
- "support"
- ],
- "css/CSS2/selectors/first-letter-punctuation-184.xht": [
- "ba4755c1ba8f73676d2ee68702dc989b3976e033",
- "reftest"
- ],
"css/CSS2/selectors/first-letter-punctuation-185-ref.xht": [
"eec0f360f42d73d1057c1ff9f1e5cbb0d5dd5b20",
"support"
@@ -562482,6 +562957,18 @@
"c5afc015b31a069b438117e8509ba5cbec7a0813",
"visual"
],
+ "css/CSS2/ui/outline-applies-to-016-ref.xht": [
+ "2ec1fb0447c9c08ef41b147c4b7109022a5e4678",
+ "support"
+ ],
+ "css/CSS2/ui/outline-applies-to-016.xht": [
+ "89ba125e5112fc13e3b9705a03868dc3b562510d",
+ "reftest"
+ ],
+ "css/CSS2/ui/outline-applies-to-017.xht": [
+ "d209d658650bb5fdf5834a069719c02afb5f8160",
+ "reftest"
+ ],
"css/CSS2/ui/outline-color-001.xht": [
"8fb1b8bdebbaad37f5bc2f8639d8659ac65b3651",
"reftest"
@@ -569959,7 +570446,7 @@
"testharness"
],
"css/css-animations/Document-getAnimations.tentative.html": [
- "c11b0a908760f4a365fb6f82e92b98341e94fb4c",
+ "175acf8424688c29e2b433226c6c4af11d176eb3",
"testharness"
],
"css/css-animations/Element-getAnimations-dynamic-changes.tentative.html": [
@@ -570290,6 +570777,10 @@
"e35b7fcb0f98656cdeff41d8d7f4a7620fa52eea",
"support"
],
+ "css/css-animations/animationevent-marker-pseudoelement.html": [
+ "90c7b86ab9d7060b5cda29158001a119944e69c0",
+ "testharness"
+ ],
"css/css-animations/animationevent-pseudoelement.html": [
"8de41cc613b00728ebc4642ab2fc83c73df82bc0",
"testharness"
@@ -570311,7 +570802,7 @@
"testharness"
],
"css/css-animations/event-order.tentative.html": [
- "93d452ace07163b10af18245d6799d9823448e1e",
+ "f4f9e29a3c859daaa9727fe3009f837a7ddeb1be",
"testharness"
],
"css/css-animations/historical.html": [
@@ -577190,6 +577681,14 @@
"82321b9c07edaf471f64829f0f0efa232aeb99c0",
"support"
],
+ "css/css-display/display-contents-shadow-dom-1-ref.html": [
+ "df3aaf3374000bc08032374bc1f6d171b94d3778",
+ "support"
+ ],
+ "css/css-display/display-contents-shadow-dom-1.html": [
+ "1f391163da043cb664558beb686a2b195c067899",
+ "reftest"
+ ],
"css/css-display/display-contents-shadow-host-whitespace.html": [
"84b04dba1013af9091f3d943ca106ab655676842",
"reftest"
@@ -582930,6 +583429,14 @@
"5cb21495ac523ee796e7b246831fd2d5bdcae798",
"reftest"
],
+ "css/css-fonts/quoted-generic-ignored-ref.html": [
+ "70e2d50cd83f61017f0f22da14065c7afa76e1d1",
+ "support"
+ ],
+ "css/css-fonts/quoted-generic-ignored.html": [
+ "4207ad5cf43e6b6db198fb14b0d00f6c3c2d4e97",
+ "reftest"
+ ],
"css/css-fonts/support/100x100-lime.png": [
"1b947700808585e8c224cee096247eb5d30a1ded",
"support"
@@ -591603,7 +592110,7 @@
"reftest"
],
"css/css-grid/grid-layout-properties.html": [
- "fcc2ce3b88d7a7aa45afcba9cdef9fdcd293ba63",
+ "b1b0bd87d494e0045c9a56501011428ac1af3ab8",
"testharness"
],
"css/css-grid/grid-model/display-grid.html": [
@@ -591951,7 +592458,7 @@
"testharness"
],
"css/css-grid/parsing/grid-auto-flow-computed.html": [
- "7484f62ddb6ea6b878245c3567f62fc908428f8c",
+ "a91593efc1bbc4cc6bb49b161b9b143d04daa3d0",
"testharness"
],
"css/css-grid/parsing/grid-auto-flow-invalid.html": [
@@ -591959,7 +592466,7 @@
"testharness"
],
"css/css-grid/parsing/grid-auto-flow-valid.html": [
- "4270a3df933f372792139cae7c39344ff69482dc",
+ "7db8b189a28e5bbd06fd11fbb856f0a727269933",
"testharness"
],
"css/css-grid/parsing/grid-auto-rows-computed.html": [
@@ -593106,6 +593613,10 @@
"590319d63fd09466f4d5fffe6943b4ff0430fcee",
"testharness"
],
+ "css/css-lists/li-counter-increment-computed-style.html": [
+ "0fae6e3f6036c46b8f658304787da5879913296f",
+ "testharness"
+ ],
"css/css-lists/li-with-height-001-ref.html": [
"486009d5604ab7a2cb66df735efff3c11c00b685",
"support"
@@ -593151,11 +593662,11 @@
"testharness"
],
"css/css-lists/list-item-definition-ref.html": [
- "72a4c90f4ada6a889fa71a27aea20146ea07bc9b",
+ "2d49bc4cb972803c45f701667d68d13028c4abc2",
"support"
],
"css/css-lists/list-item-definition.html": [
- "edae4b96bd98876170145cf9bc9c834d188b5640",
+ "14e351f9ecd34356087fc5ec7361d8e4d9b542e0",
"reftest"
],
"css/css-lists/list-marker-with-lineheight-and-overflow-hidden-001-ref.html": [
@@ -595286,6 +595797,14 @@
"83debd12d20b9f78d5beaf338ae7f068ed6bf693",
"support"
],
+ "css/css-multicol/multicol-span-all-children-height-001-ref.html": [
+ "e95210fed257c34d8c265259c7694497c1ff712d",
+ "support"
+ ],
+ "css/css-multicol/multicol-span-all-children-height-001.html": [
+ "55bdef427880b59bfd532eee6fce006d22c1cbb8",
+ "reftest"
+ ],
"css/css-multicol/multicol-span-all-dynamic-add-001-ref.html": [
"9f76ea15a0daa7753e76ad9b9a99948988c702d3",
"support"
@@ -597754,6 +598273,30 @@
"d45c76696eca826456988d7884adcaa52bfad9cd",
"reftest"
],
+ "css/css-pseudo/marker-content-009-ref.html": [
+ "a3db09f078148cdfe8105bc0d12186e15cf33d48",
+ "support"
+ ],
+ "css/css-pseudo/marker-content-009.html": [
+ "b3627cca7554076f85d59869eec7bc80e39b82be",
+ "reftest"
+ ],
+ "css/css-pseudo/marker-content-010-ref.html": [
+ "5bee9bb17943d7efd06a82656bd6881204cbf24a",
+ "support"
+ ],
+ "css/css-pseudo/marker-content-010.html": [
+ "ccd377d523d55a1eac4f0f05ab7d378357488838",
+ "reftest"
+ ],
+ "css/css-pseudo/marker-content-011-ref.html": [
+ "62a64a1e5e16ac7d90ada265317235cfb6dbe64f",
+ "support"
+ ],
+ "css/css-pseudo/marker-content-011.html": [
+ "0cc20b0cdcd242021bc37b9e2d3500ed21c5b35f",
+ "reftest"
+ ],
"css/css-pseudo/marker-display-dynamic-001.html": [
"c06da7ca803455559a7a12b915d9083b32106cd1",
"reftest"
@@ -600435,7 +600978,7 @@
"support"
],
"css/css-scroll-snap/inheritance.html": [
- "b380cb400f2c291832fdfeeab72e9b5561b3c847",
+ "2569cf3d8bfbf46f1d9217642afbf637ff4600ca",
"testharness"
],
"css/css-scroll-snap/nested-scrollIntoView-snaps.html": [
@@ -600507,19 +601050,27 @@
"testharness"
],
"css/css-scroll-snap/parsing/scroll-snap-type-valid.html": [
- "fde2211f9253467544376643d2e842c61adfe8be",
+ "59a0cb9ab203b5ec44e46286594c7f77700c66f8",
+ "testharness"
+ ],
+ "css/css-scroll-snap/scroll-padding.html": [
+ "0c637ed6db24ad9283c9ac28c7f377e28688674d",
"testharness"
],
"css/css-scroll-snap/scroll-snap-stop-always.html": [
"7d2a228688fc2011662b659803cc615dac14f350",
"testharness"
],
+ "css/css-scroll-snap/scroll-snap-type-on-root-element.html": [
+ "c2c413d04bde1a419c346fbc1d47c19825de9365",
+ "testharness"
+ ],
"css/css-scroll-snap/scroll-snap-type-proximity.html": [
"cfe990c4fcab85898899039f71fa353484558789",
"testharness"
],
"css/css-scroll-snap/scrollTo-scrollBy-snaps.html": [
- "fba38cb703ba2d70a0fb83e69ae816942a1fbea5",
+ "48bfb51c2d9e838d6ed78fbda636b3657607abc0",
"testharness"
],
"css/css-scroll-snap/snap-at-user-scroll-end-manual.html": [
@@ -600530,8 +601081,16 @@
"9f9da8f648bfc0f873b339639bd18aba1e25b4c3",
"testharness"
],
+ "css/css-scroll-snap/snap-to-transformed-target.html": [
+ "2a4402579cf06ffb2f5611dfd6207fabcb8bdafe",
+ "testharness"
+ ],
"css/css-scroll-snap/snap-to-visible-areas.html": [
- "822743445263368eb2c26c0004b25fe4b1aeaa5f",
+ "3e822db02e675a3a8799f69f86d2bc93507c7547",
+ "testharness"
+ ],
+ "css/css-scroll-snap/unreachable-snap-positions.html": [
+ "ca4f6033cece748bb1b4b39c755569174a75ecb5",
"testharness"
],
"css/css-scrollbars/META.yml": [
@@ -600654,6 +601213,10 @@
"5b1fd800790c4e14ec8fbc34bd24eb6c2eb31ab0",
"testharness"
],
+ "css/css-shadow-parts/multiple-parts.html": [
+ "de02a26e164d283e4f05a0d8eba0f6b98c778700",
+ "testharness"
+ ],
"css/css-shadow-parts/part-name-idl.html": [
"fc3282a6e944950548eeda66a78d453ec1a552f3",
"testharness"
@@ -606238,6 +606801,18 @@
"ea9956362beecb2da890dbef24362a6e9a8be905",
"reftest"
],
+ "css/css-text/line-breaking/line-breaking-015.html": [
+ "aaa1c2ba87b122114ad6b56c40808910d082ae82",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-016.html": [
+ "c600504b4c244d590f896e26fd6e7e6d7a396800",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-017.html": [
+ "36af931b1dc95ecd0d91b5d9637257370e246a72",
+ "reftest"
+ ],
"css/css-text/line-breaking/line-breaking-atomic-001.html": [
"03666417ca40e9f6efeb6c2e6be6a78ff0f477fa",
"reftest"
@@ -606314,6 +606889,18 @@
"816015adeab54895037530b8e4d410f81082931f",
"support"
],
+ "css/css-text/line-breaking/reference/line-breaking-015-ref.html": [
+ "2837ce0cd7c394737f8e45e7e557fc381dcc0cf3",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-016-ref.html": [
+ "e4d30e01158294fe784cd29211afb95fa7f8f68c",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-017-ref.html": [
+ "6f94b129d294bfc2527c5d2aa800fb6ebadb526e",
+ "support"
+ ],
"css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html": [
"93a6d491c2336467ee8dc48ea37c10203ab05863",
"support"
@@ -606635,7 +607222,7 @@
"testharness"
],
"css/css-text/parsing/text-transform-valid.html": [
- "a40166c37ef69074b00de8662fe250dbd7877693",
+ "fead45c8b8e45da70d4c14d12e4eba38348aed41",
"testharness"
],
"css/css-text/parsing/white-space-invalid.html": [
@@ -607790,6 +608377,10 @@
"3d6eb4af8ac5aeb7fd54e1b2e2aec325886ddca0",
"support"
],
+ "css/css-text/text-transform/reference/text-transform-multiple-001-ref.html": [
+ "694ae87877dd7bebde76a1134ed7d1d1947988ca",
+ "support"
+ ],
"css/css-text/text-transform/reference/text-transform-none-001-ref.xht": [
"8f822c62df79ac90de8602a6dd8266211c2cece8",
"support"
@@ -608154,6 +608745,10 @@
"42deb58b1bb08474f754adf8f8b492d04e9b6613",
"reftest"
],
+ "css/css-text/text-transform/text-transform-multiple-001.html": [
+ "946aa9c93dbf6de0548a35ad5594ee23ac707756",
+ "reftest"
+ ],
"css/css-text/text-transform/text-transform-none-001.xht": [
"40d7373e87e85fddfc6b349a13ea66572b27a5cb",
"reftest"
@@ -608403,7 +608998,7 @@
"reftest"
],
"css/css-text/white-space/break-spaces-008.html": [
- "4e6e9efa7e67733e6dbccfc732b90c8a26b769cc",
+ "9fdcdb6d2d856dc16212c4159f469652f0579aaf",
"reftest"
],
"css/css-text/white-space/break-spaces-009.html": [
@@ -614939,7 +615534,7 @@
"testharness"
],
"css/css-transitions/Document-getAnimations.tentative.html": [
- "bffc05f205fbc80ee9d27ee4ca8d3fefe00ffd63",
+ "98b91e04ee9dde4602da0519f4923712cd6a3fac",
"testharness"
],
"css/css-transitions/Element-getAnimations.tentative.html": [
@@ -614959,27 +615554,31 @@
"support"
],
"css/css-transitions/README.md": [
- "e44decfea26e9116e04f25db34eca7eb6bcee8ac",
+ "f11374e47b1876d06231854907c3082b5d4774ab",
"support"
],
- "css/css-transitions/before-DOMContentLoaded-001.html": [
- "8298e81a23cdbc378e0bff016e468d2826aa417d",
+ "css/css-transitions/before-load-001.html": [
+ "009260eea430721971053f6d98330f9a9ed56d6d",
"testharness"
],
- "css/css-transitions/before-load-001.html": [
- "47045e8843487ce70aacca8fd02b847c46553b90",
+ "css/css-transitions/changing-while-transition-001.html": [
+ "026b16877c517dce2d12c1b348b7cbc8da94108b",
"testharness"
],
- "css/css-transitions/changing-while-transition.html": [
- "a7981471a5cbae472f46511eca21439b46d73159",
+ "css/css-transitions/changing-while-transition-002.html": [
+ "363be8a987202c648bab14d01b0042f1dee710ac",
+ "testharness"
+ ],
+ "css/css-transitions/changing-while-transition-003.html": [
+ "8c8f4bb50dd3280b9b254688e035b4e86fa69f8f",
"testharness"
],
"css/css-transitions/currentcolor-animation-001.html": [
- "1ffa1a358cade02d20006bd30bcab9110580ee21",
+ "bcc7991a828ada651764f740d6e2f05f24f8d332",
"testharness"
],
- "css/css-transitions/detached-container-001.html": [
- "545324b0bd74d7ca398581666babf3ec04798b88",
+ "css/css-transitions/disconnected-element-001.html": [
+ "b883ce8d18d2bc14264b5c38b43a633840d0a070",
"testharness"
],
"css/css-transitions/event-dispatch.tentative.html": [
@@ -615014,10 +615613,6 @@
"610df6e85d0d74caae7205ee6832b812c766ff1e",
"testharness"
],
- "css/css-transitions/hidden-container-001.html": [
- "567ae61e328726cd36a2e0f9f7aef934935ff845",
- "testharness"
- ],
"css/css-transitions/historical.html": [
"8d0360a8ecf7a37b81acb10917b63abc7c9543cc",
"testharness"
@@ -615030,6 +615625,14 @@
"986436950e419a1670c75a45ab5eb39b7db6edca",
"testharness"
],
+ "css/css-transitions/non-rendered-element-001.html": [
+ "10419b94677bbfeedf84c5c348d2285338f6ea11",
+ "testharness"
+ ],
+ "css/css-transitions/non-rendered-element-002.html": [
+ "f26a04895781b389d7bad5aee80122b1e1d878a9",
+ "testharness"
+ ],
"css/css-transitions/parsing/transition-delay-computed.html": [
"e1aa9894077bf7958f2cfc459520f8999adc0df0",
"testharness"
@@ -615118,6 +615721,10 @@
"d9d91ec9da9e90feaf164632b22cb285f10a76ca",
"support"
],
+ "css/css-transitions/starting-of-transitions-001.html": [
+ "f80d8134366f861a7220acc348c69c4715de821e",
+ "testharness"
+ ],
"css/css-transitions/support/1x1-green.png": [
"b98ca0ba0a03c580ac339e4a3653539cfa8edc71",
"support"
@@ -615179,7 +615786,7 @@
"support"
],
"css/css-transitions/support/helper.js": [
- "aa3efe8012268115734bd91bff8f82ceb8d26eea",
+ "d5fa61b15eff12f48d0a76df51595b104579f757",
"support"
],
"css/css-transitions/support/import-green.css": [
@@ -620350,6 +620957,14 @@
"3c280547fb353a959bc6df95ad690445835ded98",
"reftest"
],
+ "css/css-variables/wide-keyword-fallback-ref.html": [
+ "1b4e3b3b6d9ccd9e97bbd8ec2eb82f6f1a5959e3",
+ "support"
+ ],
+ "css/css-variables/wide-keyword-fallback.html": [
+ "bb27a61e610eb0ea58f4e644919ef595db5e0a9d",
+ "reftest"
+ ],
"css/css-will-change/META.yml": [
"8d265f24986c7af2b08a26741bbfa56f321bfbb3",
"support"
@@ -627310,6 +627925,10 @@
"aa91023c1ac456902f34ccf6a4df0fed1e852bf2",
"reftest"
],
+ "css/cssom-view/matchMedia-display-none-iframe.html": [
+ "08fcb3c5386228b167cc76e9cd02a34903c86912",
+ "testharness"
+ ],
"css/cssom-view/matchMedia.xht": [
"202a3b738dd0d7c83ed9b4cdff8c7212ae09f61e",
"testharness"
@@ -627354,6 +627973,14 @@
"8f4433795424a00a896278173747aa9e192e181d",
"testharness"
],
+ "css/cssom-view/outer-svg.html": [
+ "3b062c7548f1485269b4b74570975beab4d0760f",
+ "testharness"
+ ],
+ "css/cssom-view/resize-event-on-initial-layout.html": [
+ "dc2f04bcced73dffc16d0c439ea029469da2017d",
+ "testharness"
+ ],
"css/cssom-view/resources/elementsFromPoint.js": [
"ba986ef3f568d4971eb4e84c4faaeae6e276b975",
"support"
@@ -627734,6 +628361,42 @@
"86016ef5a3db6636bf97edc58992f30f909c13a2",
"testharness"
],
+ "css/cssom/HTMLLinkElement-disabled-001.tentative.html": [
+ "877356f924de995aca09579739c6120af2caab1e",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-002.tentative.html": [
+ "9c46f60a6214538168b48cd06b16fda0ce52ec63",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-003.tentative.html": [
+ "fc86e6ba1f052231c4de47cbcece07c85a6f68b9",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-004.tentative.html": [
+ "7e6c34ee40d97319e4b2ac39262bba9935fd7d3b",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-005.tentative.html": [
+ "0233f8c746ed83c1b912df3c0e8ba489d9bd4325",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-006.tentative.html": [
+ "5828e1ce14217384fd9445297ddffbfcfc4e4c7e",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-007.tentative.html": [
+ "451fc3d591f2c8e12964282eb1314d4962429923",
+ "testharness"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-alternate-ref.html": [
+ "5d87bfdaf5b0533f2ea7088a870ca45474d065f4",
+ "support"
+ ],
+ "css/cssom/HTMLLinkElement-disabled-alternate.tentative.html": [
+ "5b020a172b175ac21d76052cfd44139d376f6605",
+ "reftest"
+ ],
"css/cssom/META.yml": [
"3250801f64b5d6b4d430083bdc06c09aa0844370",
"support"
@@ -631518,6 +632181,14 @@
"d46f13413346098dbd65b1e9ceff5fb8368e863e",
"reftest"
],
+ "css/selectors/sharing-in-svg-use-ref.html": [
+ "703cc99bb863b7a1bb79dd6a7a218308892c66ca",
+ "support"
+ ],
+ "css/selectors/sharing-in-svg-use.html": [
+ "08a038ca8b4ccb367220a467053b1155da51f2fb",
+ "reftest"
+ ],
"css/selectors/user-invalid.html": [
"f0c3d93cbea2430a98e1c524910ded94567a70d7",
"testharness"
@@ -643835,7 +644506,7 @@
"support"
],
"editing/data/removeformat.js": [
- "cfc355d88541152ac53ff1317a6a0f6a7052b6c3",
+ "db5c05508336a3d57f0486390d4eb80b4d25c0fd",
"support"
],
"editing/data/strikethrough.js": [
@@ -644142,6 +644813,10 @@
"05c54ac050fe8caf5581dcbd1de5e30bb8681fd1",
"testharness"
],
+ "element-timing/observe-shadow-image.html": [
+ "1fa6dd41a95e9b610412a5ee22cbdb0c3cad5c3e",
+ "testharness"
+ ],
"element-timing/observe-svg-image.html": [
"45e800d25da14d7052b42dab939ca49167bfedc3",
"testharness"
@@ -647403,7 +648078,7 @@
"support"
],
"feature-policy/reporting/xr-report-only.https.html": [
- "6844226f2bd2189e44c2e74396ba449ce1a49c10",
+ "bdef39cde8c65cc1e491b76b449c19ab7cd0ed87",
"testharness"
],
"feature-policy/reporting/xr-report-only.https.html.headers": [
@@ -647411,7 +648086,7 @@
"support"
],
"feature-policy/reporting/xr-reporting.https.html": [
- "1982ea544c53bad508c422befe589e9e15dabcb6",
+ "3ce61cd13ac5103879a327b62fb70e35e9de0f06",
"testharness"
],
"feature-policy/reporting/xr-reporting.https.html.headers": [
@@ -648851,7 +649526,7 @@
"testharness"
],
"fetch/sec-metadata/img.tentative.https.sub.html": [
- "b9fc1af2f3bfcc09b7e9989fd755f3c82d6f24d9",
+ "d4d51a5574143ad0ab05fd97b895bcdcacb3b0eb",
"testharness"
],
"fetch/sec-metadata/navigation.https.sub.html": [
@@ -648991,7 +649666,7 @@
"support"
],
"fetch/stale-while-revalidate/fetch-sw.https.tentative.html": [
- "2286739ecf27966d1efedad7c4d4031475693988",
+ "f6ece2cfe3e1f8f85b89d9f6402641104f6085d4",
"testharness"
],
"fetch/stale-while-revalidate/fetch.tentative.html": [
@@ -653074,6 +653749,26 @@
"7407248ffe9fe3da977275c2192e31e3db9fc8a9",
"testharness"
],
+ "html/cross-origin-opener/new_window_same_site.html": [
+ "b75f7ff7a646addffca73e7fc47539e88293d2ed",
+ "testharness"
+ ],
+ "html/cross-origin-opener/new_window_same_site.html.headers": [
+ "34bd099a302f893f92586241ea38aac812bf28d0",
+ "support"
+ ],
+ "html/cross-origin-opener/resources/postback.sub.html": [
+ "ee08bab4d55ed45523ae862f65a41b29046fba69",
+ "support"
+ ],
+ "html/cross-origin-opener/resources/window.sub.html": [
+ "7c72f87c3ddd8996991a87721076a95a85c272d9",
+ "support"
+ ],
+ "html/cross-origin-opener/resources/window.sub.html.headers": [
+ "34bd099a302f893f92586241ea38aac812bf28d0",
+ "support"
+ ],
"html/dom/documents/dom-tree-accessors/Document.body.html": [
"f42125029568476b4076603a1b982a4989b65d35",
"testharness"
@@ -658526,6 +659221,10 @@
"2e765ca152327bc0b20db0e3b8e79f5da08b9fa9",
"testharness"
],
+ "html/interaction/focus/focus-file-input.html": [
+ "d3007112ffb9419e7774d869c53e353ebe2cec8f",
+ "testharness"
+ ],
"html/interaction/focus/focus-management/focus-event-targets-simple.html": [
"ab7bcfe6d0e636552746def160715bc47e63fb85",
"testharness"
@@ -661922,6 +662621,10 @@
"a65ffb58aade9d962dd0986c62d0e7688dc92317",
"testharness"
],
+ "html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html": [
+ "debe014170dbd452ce994a6286ca11ab0e72adb1",
+ "testharness"
+ ],
"html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html": [
"cdba44b666c66b5a647c5780a2bfaccf7aa76887",
"testharness"
@@ -663667,7 +664370,7 @@
"testharness"
],
"html/semantics/forms/textfieldselection/selection-start-end-extra.html": [
- "e76f5f6ea70c2ba769fe6a75e9aa1c95d98e2760",
+ "c8ba83bb988006daec57eb2f0ccf9e9dcf421f5d",
"testharness"
],
"html/semantics/forms/textfieldselection/selection-start-end.html": [
@@ -667947,7 +668650,7 @@
"testharness"
],
"html/syntax/parsing/unclosed-svg-script.html": [
- "80f662a3f787daa62c2ae0284f95e7d65b78e8f4",
+ "e4048615072a828299f9222f94b9a01dcb2df4e8",
"testharness"
],
"html/syntax/serializing-html-fragments/initial-linefeed-pre.html": [
@@ -671010,6 +671713,10 @@
"9d0769ae44a1bb4a6195c006999b0959f706330c",
"support"
],
+ "intersection-observer/resources/scaled-target-subframe.html": [
+ "8f6f930e00915417fcba592df5520999c427ed91",
+ "support"
+ ],
"intersection-observer/resources/timestamp-subframe.html": [
"143e4f6e23a7688949420a07ccd20e3c211a6f6b",
"support"
@@ -671067,11 +671774,11 @@
"testharness"
],
"intersection-observer/v2/cross-origin-effects.sub.html": [
- "edb8f023c09ff51ef6693dd6b994c364895241ca",
+ "04b88b404ec035ed107d6a2ed9f499a0d5d105d3",
"testharness"
],
"intersection-observer/v2/cross-origin-occlusion.sub.html": [
- "6f9fa57fb718ceb90870fd0812930eda79db7d1b",
+ "b8bbcae3ea8bbe9ab9db5a23d29ad1113dee7877",
"testharness"
],
"intersection-observer/v2/delay-test.html": [
@@ -671082,6 +671789,10 @@
"3e53ee5f5814e8ef69d8454011ceafabfe8d1f17",
"testharness"
],
+ "intersection-observer/v2/scaled-target.html": [
+ "f48f0792d0fab626101f8a612a8c1108401134c7",
+ "testharness"
+ ],
"intersection-observer/v2/simple-effects.html": [
"2b7a83a9c9507a79e91cb2ef890604d9b2ca5e3e",
"testharness"
@@ -671363,7 +672074,7 @@
"reftest"
],
"lint.whitelist": [
- "27f70db20fe607ddcb03829fc40e6efd00f0c1c7",
+ "0ec256a7525fd32851aa7d251e3ae38fcb2b2436",
"support"
],
"loading/preloader-css-import-no-quote.tentative.html": [
@@ -673555,37 +674266,13 @@
"testharness"
],
"mixed-content/generic/mixed-content-test-case.js": [
- "6837258c62294e6e2826bac733cbb2451f9edc12",
+ "221210814c52af5afa3bb65e174d6e527dff31a7",
"support"
],
"mixed-content/generic/sanity-checker.js": [
"55a103adf0f29c615d40bc47943be1aec25c8f1e",
"support"
],
- "mixed-content/generic/template/disclaimer.template": [
- "66c43ed6f21324d44b1596c09a02fecf53f41323",
- "support"
- ],
- "mixed-content/generic/template/spec_json.js.template": [
- "e4cbd03425968819d773460335404584d9d375fc",
- "support"
- ],
- "mixed-content/generic/template/test.debug.html.template": [
- "77f62ef1da36a4c2f93aa674bd374490de41fb72",
- "support"
- ],
- "mixed-content/generic/template/test.js.template": [
- "b8c0769fcfd8ed0683960400b2428dfea7cda849",
- "support"
- ],
- "mixed-content/generic/template/test.release.html.template": [
- "188e32fde4bc2821776649f47540f7ac86cfdb57",
- "support"
- ],
- "mixed-content/generic/template/test_description.template": [
- "33dbcaa05dd21fd8ab7718dfa99771fc0f68fcfb",
- "support"
- ],
"mixed-content/generic/tools/__init__.py": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
@@ -673594,12 +674281,8 @@
"15f294b5c8c878cb6ecb854aa9e5385b64b6d1a1",
"support"
],
- "mixed-content/generic/tools/common_paths.py": [
- "5475cb6969d2de693f79db773252b2e62853a82d",
- "support"
- ],
"mixed-content/generic/tools/generate.py": [
- "1e0a404a709add4a31404f874ca4fc035c9c5702",
+ "fe4305c4eea53b1e0317e92303078f0b6875c772",
"support"
],
"mixed-content/generic/tools/regenerate": [
@@ -685075,11 +685758,11 @@
"testharness"
],
"referrer-policy/generic/link-rel-prefetch.html": [
- "c8e367079bd36f04bc9cf8fbbb87c0647b2303e8",
+ "914ddfc4b225d26c675c61ecf623fdebb10e4524",
"testharness"
],
"referrer-policy/generic/multiple-headers-and-values.html": [
- "ac7f37006ec748c754040119970f6aba326cd757",
+ "b7a9c9fe0e4e69f12f804e3366f9cd817bc0d3da",
"testharness"
],
"referrer-policy/generic/multiple-headers-and-values.html.headers": [
@@ -685087,7 +685770,7 @@
"support"
],
"referrer-policy/generic/multiple-headers-combined.html": [
- "0e99cd4ea8e822325180b4e94e03a38ddcfe66f5",
+ "c13403aa22acc32527c4348c48a377f388ad453c",
"testharness"
],
"referrer-policy/generic/multiple-headers-combined.html.headers": [
@@ -685095,7 +685778,7 @@
"support"
],
"referrer-policy/generic/multiple-headers-one-invalid.html": [
- "3c2bf21a62b2fd37b5ede60b2dbe01ca01104ce8",
+ "c36c456e23a26dcaae0bea2e89ad11a81e82aa54",
"testharness"
],
"referrer-policy/generic/multiple-headers-one-invalid.html.headers": [
@@ -685103,7 +685786,7 @@
"support"
],
"referrer-policy/generic/multiple-headers-one-unknown-token.html": [
- "2c13376b14cea31b6d014d20835b02dae4a88484",
+ "6a8c8eecbff039f4ede7837e0e0386192bbc8621",
"testharness"
],
"referrer-policy/generic/multiple-headers-one-unknown-token.html.headers": [
@@ -685111,7 +685794,7 @@
"support"
],
"referrer-policy/generic/multiple-headers.html": [
- "e727acd588ee7d7817be8bcf0ffaf6b77ea7fbbf",
+ "5b9c4eb20a4624a5078e539aa8e5bbd0e9534145",
"testharness"
],
"referrer-policy/generic/multiple-headers.html.headers": [
@@ -685119,7 +685802,7 @@
"support"
],
"referrer-policy/generic/referrer-policy-test-case.js": [
- "8bdbd3961b9d3a851951f111f803c3f82b9f81ce",
+ "c8a3beaf89eb50ad0ef1ab3efc3593b8d9a3b9b1",
"support"
],
"referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html": [
@@ -685147,7 +685830,7 @@
"testharness"
],
"referrer-policy/generic/subresource-test/image-decoding.html": [
- "a9eec617d44d18c293af1b0c1bf180f5c9470f5e",
+ "a3c8626641c6e469487c87174b6656ebd50fd6f5",
"testharness"
],
"referrer-policy/generic/subresource-test/link-navigate.html": [
@@ -685166,30 +685849,6 @@
"dd48dec8e6ba24932fbb930006143124e3c7790f",
"testharness"
],
- "referrer-policy/generic/template/disclaimer.template": [
- "66c43ed6f21324d44b1596c09a02fecf53f41323",
- "support"
- ],
- "referrer-policy/generic/template/spec_json.js.template": [
- "e4cbd03425968819d773460335404584d9d375fc",
- "support"
- ],
- "referrer-policy/generic/template/test.debug.html.template": [
- "ce7761b949df343162767f64612ec713805fbf10",
- "support"
- ],
- "referrer-policy/generic/template/test.js.template": [
- "900099436a8120417836a02ee82eb5a3bd698629",
- "support"
- ],
- "referrer-policy/generic/template/test.release.html.template": [
- "e55a50bdc418a1cc817a4df0b2d3f6af6ea1fd13",
- "support"
- ],
- "referrer-policy/generic/template/test_description.template": [
- "fbc80bb25af678657dc5f417bb9a930496ca4875",
- "support"
- ],
"referrer-policy/generic/tools/__init__.py": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
@@ -685198,12 +685857,8 @@
"715e1d6ae4b53461a99b3789a5200e4cb6456f4c",
"support"
],
- "referrer-policy/generic/tools/common_paths.py": [
- "1066fb5bb238ed5dfd57bc5ba0e98af624bfd9b4",
- "support"
- ],
"referrer-policy/generic/tools/generate.py": [
- "592948696aec6ef45699aceec4ea7ea856b28b43",
+ "a59770ffa26cbb933c7185b75d58bd00b75103c7",
"support"
],
"referrer-policy/generic/tools/regenerate": [
@@ -685215,7 +685870,7 @@
"support"
],
"referrer-policy/generic/unsupported-csp-referrer-directive.html": [
- "6c03a48e1c1a27667d14cd47c6117636eebd3a8b",
+ "190aa5212f3dbcb1633b9d73bebebaf5e1bd361c",
"testharness"
],
"referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html": [
@@ -694022,8 +694677,16 @@
"a7542f191c10ea7b42110b5fc80e7abf43174bb5",
"testharness"
],
- "resource-timing/nested-context-navigations.html": [
- "483cc5b82d5debf942dd0013a340f9d5f550834c",
+ "resource-timing/nested-context-navigations-embed.html": [
+ "bbba46c50edf21f50b49099c779dd5a8792faa0f",
+ "testharness"
+ ],
+ "resource-timing/nested-context-navigations-iframe.html": [
+ "86a83285288a79d014905aa909014f9e7116fa29",
+ "testharness"
+ ],
+ "resource-timing/nested-context-navigations-object.html": [
+ "20cceea38d6ff278b4e4e1f6f8760bbf38721226",
"testharness"
],
"resource-timing/no-entries-for-cross-origin-css-fetched.sub.html": [
@@ -705431,11 +706094,11 @@
"support"
],
"tools/lint/lint.py": [
- "19d0c112186a09ab2ca5fb449faf4ea90bb66e04",
+ "dd06e0a02fc694129d38288b5de55e22af43022b",
"support"
],
"tools/lint/rules.py": [
- "78f9d072a8a71c7af0494dc3625bd7aa937a5554",
+ "76d5d3e99264de999e999086436c8b524c62a297",
"support"
],
"tools/lint/tests/__init__.py": [
@@ -705591,7 +706254,7 @@
"support"
],
"tools/manifest/XMLParser.py": [
- "523f544b7c4e834b85d970a352aab28d3c846145",
+ "212bd7f32f48e05531607a436fa151f6f29d43de",
"support"
],
"tools/manifest/__init__.py": [
@@ -705611,7 +706274,7 @@
"support"
],
"tools/manifest/item.py": [
- "b6d33e8452cde01b525a3336c8a11d0012c7037c",
+ "1556bfafdafb47d9a44629b33a3e376e85c4af6c",
"support"
],
"tools/manifest/log.py": [
@@ -705619,11 +706282,11 @@
"support"
],
"tools/manifest/manifest.py": [
- "dc38d3819883ce049af8447b8e1f87d308b48e23",
+ "dd2e3627f478bbabdad532185b17cf6769381086",
"support"
],
"tools/manifest/sourcefile.py": [
- "56b938d64ba939e4bf0bc98b6dfe1228aa54cae6",
+ "cd5261183ee8b1b67796ef7a7a8696faabc4b68d",
"support"
],
"tools/manifest/tests/__init__.py": [
@@ -705651,7 +706314,7 @@
"support"
],
"tools/manifest/update.py": [
- "f1a70930bb3377d86164767b71d985bad42c0104",
+ "013ec2147bc7218b736a9f3989d929078ec73bfc",
"support"
],
"tools/manifest/utils.py": [
@@ -705659,7 +706322,11 @@
"support"
],
"tools/manifest/vcs.py": [
- "b63df4d0a8ae750a3a1edc7ee6c9eaa5fcc3718b",
+ "d900012212eb32b2a4df01c781cabf0b48968bad",
+ "support"
+ ],
+ "tools/mypy.ini": [
+ "710df96244a978275e3395262a7f4d0f46cce530",
"support"
],
"tools/py27-flake8.ini": [
@@ -706062,6 +706729,10 @@
"cc9098d218acfef3c23ea14b4fa176997c281365",
"support"
],
+ "tools/requirements_mypy.txt": [
+ "0654986be4f9ba06b1d8089ab18af5d72afc5370",
+ "support"
+ ],
"tools/runner/css/bootstrap-theme.min.css": [
"61358b13d045694a6963c5334eab2831e53978ac",
"support"
@@ -706103,7 +706774,7 @@
"support"
],
"tools/runner/runner.js": [
- "ef0b6a449d686168469dfcb851b30912124387a7",
+ "daaf9d45da5bfba632354e9edbd2846d052d0035",
"support"
],
"tools/runner/update_manifest.py": [
@@ -710067,7 +710738,7 @@
"support"
],
"tools/tox.ini": [
- "bb9873d5bc67cb15de4bd29cab6c1729ea5b94ce",
+ "d0b186428eda92cc5c65f0ca98703811cdf1f445",
"support"
],
"tools/webdriver/.gitignore": [
@@ -710139,7 +710810,7 @@
"support"
],
"tools/wpt/testfiles.py": [
- "7f0f221a1f6be5eb3959184a86e7fe7958554dc6",
+ "09dd45bcbd8dd4c865310a64f612c5e1262133f9",
"support"
],
"tools/wpt/tests/latest_mozilla_central.txt": [
@@ -710427,7 +711098,7 @@
"support"
],
"tools/wptrunner/wptrunner/browsers/fennec.py": [
- "45c83d9b816cc2b4bca26da896868408de7f273c",
+ "9414ff230d47cf5075b08089c11a395b7eb1f0be",
"support"
],
"tools/wptrunner/wptrunner/browsers/firefox.py": [
@@ -710483,7 +711154,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/base.py": [
- "f35c03a30e8f222b3cf33a4bda66e73e33853cdd",
+ "cfbc42f61a0ea50b413a6ec14424bb1fa67bf87d",
"support"
],
"tools/wptrunner/wptrunner/executors/executorchrome.py": [
@@ -710499,7 +711170,7 @@
"support"
],
"tools/wptrunner/wptrunner/executors/executormarionette.py": [
- "0b0068f8c5bc9716e1988bc3cb7ea103459699ac",
+ "8ceb99261e28d7142b16ab736ba453d849065f89",
"support"
],
"tools/wptrunner/wptrunner/executors/executoropera.py": [
@@ -713847,7 +714518,7 @@
"testharness"
],
"web-animations/animation-model/animation-types/property-list.js": [
- "8d9b296ff74fdd907f94da417bfce1d9021eca48",
+ "3ac142e6278544917bc96073beb9d024f278fe9b",
"support"
],
"web-animations/animation-model/animation-types/property-types.js": [
@@ -713895,7 +714566,7 @@
"testharness"
],
"web-animations/interfaces/Animatable/animate.html": [
- "b7c590e67a03d6ae81cbfeb1a80db0e0613f710d",
+ "fcf753baef30bbde608d2debfb43b3212b02fa21",
"testharness"
],
"web-animations/interfaces/Animatable/getAnimations.html": [
@@ -714063,7 +714734,7 @@
"support"
],
"web-animations/testcommon.js": [
- "889cab8bd31e7d356b413fd1e58ea032f00a2fc6",
+ "82b7053232146e3475f1db4c21d9b28e587d2f31",
"support"
],
"web-animations/timing-model/animation-effects/active-time.html": [
@@ -715547,7 +716218,7 @@
"support"
],
"webdriver/tests/add_cookie/add.py": [
- "24ac645029e0dc57327b62ad3d24fbab1640ad2c",
+ "c1a886aafa71757d5efccb3953d2c30a96a14a34",
"wdspec"
],
"webdriver/tests/add_cookie/user_prompts.py": [
@@ -715746,6 +716417,10 @@
"8b6d7d9157b28570e7984491e02e42f6a64ce15c",
"wdspec"
],
+ "webdriver/tests/execute_async_script/properties.py": [
+ "207daae12833beff5da158136225663e16cbc155",
+ "wdspec"
+ ],
"webdriver/tests/execute_async_script/user_prompts.py": [
"5c873935519716a3f4933b710828118218f7220c",
"wdspec"
@@ -715774,6 +716449,10 @@
"8bb637853ccd789f128a8293a678f58cfe030912",
"wdspec"
],
+ "webdriver/tests/execute_script/properties.py": [
+ "92f4722fbf6caa01c8dc1977dfdfa6b6db0af468",
+ "wdspec"
+ ],
"webdriver/tests/execute_script/user_prompts.py": [
"ec6895b74f8e110120f2e3067e2c35b94d2a532d",
"wdspec"
@@ -715919,7 +716598,7 @@
"support"
],
"webdriver/tests/get_element_property/get.py": [
- "fde0f2a0cd6dd89b59287510f7049ceabac8d371",
+ "50185485b814c03628c96203a8e6f8735a83be5e",
"wdspec"
],
"webdriver/tests/get_element_property/user_prompts.py": [
@@ -715967,7 +716646,7 @@
"support"
],
"webdriver/tests/get_named_cookie/get.py": [
- "50a465191687fe1c79a910cdd6fed376fb001184",
+ "9ea29c8994eb471882ae0ce68aa48b854ba35b99",
"wdspec"
],
"webdriver/tests/get_named_cookie/user_prompts.py": [
@@ -716654,6 +717333,10 @@
"2c79be8a298aa73ae20bb7898d8dd34d0d56b000",
"testharness"
],
+ "webmessaging/message-channels/worker-post-after-close.html": [
+ "a2f6d92e9cc9ca67a4f42384a0a00e1497f98db8",
+ "testharness"
+ ],
"webmessaging/message-channels/worker.html": [
"0502021fff138a29b5bd815c589d0f556922db9b",
"testharness"
@@ -717010,12 +717693,12 @@
"8498e6b35c9ff820c86773dd874930c5b012229e",
"testharness"
],
- "webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.html": [
- "2bd860d901ded78c9635da65413ac63e7dbf4460",
+ "webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.https.html": [
+ "901789109f017a74ba11675d13cd33d12e73e2d1",
"testharness"
],
- "webrtc-identity/RTCPeerConnection-peerIdentity.html": [
- "64ad212a5ba4e0c6bf5589f4cda3a4c7a508cdc2",
+ "webrtc-identity/RTCPeerConnection-peerIdentity.https.html": [
+ "518d57777aa79cd2c74ac1820f3538c4afb2732b",
"testharness"
],
"webrtc-identity/identity-helper.sub.js": [
@@ -717123,7 +717806,7 @@
"testharness"
],
"webrtc/RTCDataChannel-send.html": [
- "4b8d0c2f2048d68283a55de7b19eb2e95b166fc8",
+ "76d3524d6ebc85306ceffcbe4a59a5e8928fd192",
"testharness"
],
"webrtc/RTCDataChannelEvent-constructor.html": [
@@ -717255,7 +717938,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-removeTrack.https.html": [
- "ffb3fececc48ddff3869ea728b00b94c76380334",
+ "f2add7f0d34bada5c156cafeac399e104b2a414a",
"testharness"
],
"webrtc/RTCPeerConnection-setDescription-transceiver.html": [
@@ -717263,7 +717946,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-setLocalDescription-answer.html": [
- "e8b3ef5071e480941cc5b4c6f3117ebfa519ac9e",
+ "c97021b0fabb455ecd8575276a355e9b9d79bc9b",
"testharness"
],
"webrtc/RTCPeerConnection-setLocalDescription-offer.html": [
@@ -717303,7 +717986,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-setRemoteDescription-rollback.html": [
- "f2dbf0b96f3c670a219a2f07a85e77f0d231a5b8",
+ "255419258a35d88ae5970e9ec4edeb70f203da0f",
"testharness"
],
"webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html": [
@@ -717411,7 +718094,7 @@
"testharness"
],
"webrtc/RTCRtpTransceiver.https.html": [
- "b5f3c55ee5810f30ee8439e0b33df84b379d975c",
+ "0b560d2f26e34db31d19ad51a87d3690a61e5947",
"testharness"
],
"webrtc/RTCSctpTransport-constructor.html": [
@@ -717491,7 +718174,7 @@
"testharness"
],
"webrtc/no-media-call.html": [
- "10933fae4c396198ade091894ea8538d1a174eaf",
+ "dbe6a0dd4c210b2fe930e574fe5d638968805dca",
"testharness"
],
"webrtc/promises-call.html": [
@@ -721967,15 +722650,15 @@
"testharness"
],
"webxr/xrDevice_supportsSession_immersive.https.html": [
- "c0b47013f9d11ad292fdef2e51968c3a28c35f55",
+ "53dd41e3d27d1be2d2d31c6fd88d26676f10db0a",
"testharness"
],
"webxr/xrDevice_supportsSession_immersive_unsupported.https.html": [
- "2b17b96b1bc11693c87b931a5debc0e4f1c2336c",
+ "0fb44a895d1f790b4b0c4c9b2f236cb7a4169824",
"testharness"
],
"webxr/xrDevice_supportsSession_non_immersive.https.html": [
- "69a35c2510983550993f630ea6f0a165c2e89369",
+ "d5191400c449808b9b21f3687742c4dfa487dffc",
"testharness"
],
"webxr/xrFrame_getPose.https.html": [
diff --git a/tests/wpt/metadata/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html.ini b/tests/wpt/metadata/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html.ini
new file mode 100644
index 00000000000..7559aeea510
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html.ini
@@ -0,0 +1,2 @@
+[adjoining-float-nested-forced-clearance.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/ui/outline-applies-to-016.xht.ini b/tests/wpt/metadata/css/CSS2/ui/outline-applies-to-016.xht.ini
new file mode 100644
index 00000000000..20c2f319665
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/ui/outline-applies-to-016.xht.ini
@@ -0,0 +1,2 @@
+[outline-applies-to-016.xht]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/ui/outline-applies-to-017.xht.ini b/tests/wpt/metadata/css/CSS2/ui/outline-applies-to-017.xht.ini
new file mode 100644
index 00000000000..f030c3b313d
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/ui/outline-applies-to-017.xht.ini
@@ -0,0 +1,2 @@
+[outline-applies-to-017.xht]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-animations/animationevent-marker-pseudoelement.html.ini b/tests/wpt/metadata/css/css-animations/animationevent-marker-pseudoelement.html.ini
new file mode 100644
index 00000000000..5af8ec0f754
--- /dev/null
+++ b/tests/wpt/metadata/css/css-animations/animationevent-marker-pseudoelement.html.ini
@@ -0,0 +1,5 @@
+[animationevent-marker-pseudoelement.html]
+ expected: TIMEOUT
+ [AnimationEvent should have the correct pseudoElement memeber]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/css/css-animations/event-order.tentative.html.ini b/tests/wpt/metadata/css/css-animations/event-order.tentative.html.ini
index 875b61eeeb3..5286c0e29f8 100644
--- a/tests/wpt/metadata/css/css-animations/event-order.tentative.html.ini
+++ b/tests/wpt/metadata/css/css-animations/event-order.tentative.html.ini
@@ -11,3 +11,18 @@
[Test start and end events are sorted correctly when fired simultaneously]
expected: FAIL
+ [Same events are ordered by elements]
+ expected: FAIL
+
+ [Start and iteration events are ordered by time]
+ expected: FAIL
+
+ [Start and end events are sorted correctly when fired simultaneously]
+ expected: FAIL
+
+ [Same events on pseudo-elements follow the prescribed order]
+ expected: FAIL
+
+ [Iteration and end events are ordered by time]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
index 40722f0ba41..0a363fa8c93 100644
--- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
+++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
@@ -332,3 +332,6 @@
[Matching font-style: 'oblique -10deg' should prefer 'oblique -50deg -40deg' over 'italic']
expected: FAIL
+ [Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
index fb258c3c0c1..56101a229ad 100644
--- a/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
+++ b/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
@@ -35,3 +35,9 @@
[Test @font-face matching for weight 400]
expected: FAIL
+ [Test @font-face matching for weight 500]
+ expected: FAIL
+
+ [Test @font-face matching for weight 470]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-016.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-016.html.ini
new file mode 100644
index 00000000000..57ad0db6ade
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-016.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-016.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-017.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-017.html.ini
new file mode 100644
index 00000000000..84ea268e264
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-017.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-017.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-transform/text-transform-multiple-001.html.ini b/tests/wpt/metadata/css/css-text/text-transform/text-transform-multiple-001.html.ini
new file mode 100644
index 00000000000..f109b41c0f0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-transform/text-transform-multiple-001.html.ini
@@ -0,0 +1,2 @@
+[text-transform-multiple-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini b/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini
index 02d1d23876d..8b9fb0b259a 100644
--- a/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/before-load-001.html.ini
@@ -1,4 +1,8 @@
[before-load-001.html]
+ expected: TIMEOUT
[transition height from 10px to 100px / events]
expected: FAIL
+ [CSS Transitions Test: Transitioning before load event]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/css/css-transitions/changing-while-transition-001.html.ini b/tests/wpt/metadata/css/css-transitions/changing-while-transition-001.html.ini
new file mode 100644
index 00000000000..f1b79f7d2b1
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/changing-while-transition-001.html.ini
@@ -0,0 +1,4 @@
+[changing-while-transition-001.html]
+ [Changes to transition-duration should not affect in-flight transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/changing-while-transition-002.html.ini b/tests/wpt/metadata/css/css-transitions/changing-while-transition-002.html.ini
new file mode 100644
index 00000000000..cd2e0f6d561
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/changing-while-transition-002.html.ini
@@ -0,0 +1,4 @@
+[changing-while-transition-002.html]
+ [Changes to transition-timing-function should not affect in-flight transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/changing-while-transition-003.html.ini b/tests/wpt/metadata/css/css-transitions/changing-while-transition-003.html.ini
new file mode 100644
index 00000000000..da90e5214be
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/changing-while-transition-003.html.ini
@@ -0,0 +1,4 @@
+[changing-while-transition-003.html]
+ [Changes to transition-delay should not affect in-flight transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/disconnected-element-001.html.ini b/tests/wpt/metadata/css/css-transitions/disconnected-element-001.html.ini
new file mode 100644
index 00000000000..2eee391a749
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/disconnected-element-001.html.ini
@@ -0,0 +1,11 @@
+[disconnected-element-001.html]
+ expected: TIMEOUT
+ [Transitions are canceled when an element is re-parented to the same node]
+ expected: NOTRUN
+
+ [Transitions are canceled when an element is removed from the document]
+ expected: TIMEOUT
+
+ [Transitions are canceled when an element is re-parented]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/css/css-transitions/non-rendered-element-001.html.ini b/tests/wpt/metadata/css/css-transitions/non-rendered-element-001.html.ini
new file mode 100644
index 00000000000..887eaa90578
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/non-rendered-element-001.html.ini
@@ -0,0 +1,8 @@
+[non-rendered-element-001.html]
+ expected: TIMEOUT
+ [Transitions are canceled when an element is no longer rendered]
+ expected: TIMEOUT
+
+ [Transitions do not run for an element newly rendered]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transitions/non-rendered-element-002.html.ini b/tests/wpt/metadata/css/css-transitions/non-rendered-element-002.html.ini
new file mode 100644
index 00000000000..684f225e665
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/non-rendered-element-002.html.ini
@@ -0,0 +1,8 @@
+[non-rendered-element-002.html]
+ expected: TIMEOUT
+ [Transitions on ::before/::after pseudo-elements are canceled when the content property is cleared]
+ expected: TIMEOUT
+
+ [Transitions on ::marker pseudo-elements are canceled when the parent display type is no longer list-item]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/css/css-transitions/starting-of-transitions-001.html.ini b/tests/wpt/metadata/css/css-transitions/starting-of-transitions-001.html.ini
new file mode 100644
index 00000000000..2b4426806e0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-transitions/starting-of-transitions-001.html.ini
@@ -0,0 +1,4 @@
+[starting-of-transitions-001.html]
+ [changes to transition-property should cancel in-flight transitions]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-variables/wide-keyword-fallback.html.ini b/tests/wpt/metadata/css/css-variables/wide-keyword-fallback.html.ini
new file mode 100644
index 00000000000..3bdd09230d8
--- /dev/null
+++ b/tests/wpt/metadata/css/css-variables/wide-keyword-fallback.html.ini
@@ -0,0 +1,2 @@
+[wide-keyword-fallback.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/outer-svg.html.ini b/tests/wpt/metadata/css/cssom-view/outer-svg.html.ini
new file mode 100644
index 00000000000..2ff644b8ca7
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/outer-svg.html.ini
@@ -0,0 +1,7 @@
+[outer-svg.html]
+ [scrollWidth, scrollHeight, scrollTop and scrollLeft work on outer svg element]
+ expected: FAIL
+
+ [clientWidth, clientHeight, clientTop and clientLeft work on outer svg element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-001.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-001.tentative.html.ini
new file mode 100644
index 00000000000..df24204e0d3
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-001.tentative.html.ini
@@ -0,0 +1,7 @@
+[HTMLLinkElement-disabled-001.tentative.html]
+ [<link disabled> prevents the stylesheet from being in document.styleSheets (from parser)]
+ expected: FAIL
+
+ [HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-002.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-002.tentative.html.ini
new file mode 100644
index 00000000000..ac0d6d3a943
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-002.tentative.html.ini
@@ -0,0 +1,4 @@
+[HTMLLinkElement-disabled-002.tentative.html]
+ [HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently, when the sheet is an alternate]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-003.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-003.tentative.html.ini
new file mode 100644
index 00000000000..137b92e99e8
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-003.tentative.html.ini
@@ -0,0 +1,4 @@
+[HTMLLinkElement-disabled-003.tentative.html]
+ [HTMLLinkElement.disabled's explicitly enabled state persists when disconnected and connected again]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-004.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-004.tentative.html.ini
new file mode 100644
index 00000000000..7f41d0adaa0
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-004.tentative.html.ini
@@ -0,0 +1,4 @@
+[HTMLLinkElement-disabled-004.tentative.html]
+ [HTMLLinkElement.disabled's explicitly enabled state doesn't persist on clones]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-005.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-005.tentative.html.ini
new file mode 100644
index 00000000000..d4be99bfa4f
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-005.tentative.html.ini
@@ -0,0 +1,5 @@
+[HTMLLinkElement-disabled-005.tentative.html]
+ expected: TIMEOUT
+ [HTMLLinkElement.disabled's explicitly enabled state persists regardless of rel]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-007.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-007.tentative.html.ini
new file mode 100644
index 00000000000..77f89988df1
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-007.tentative.html.ini
@@ -0,0 +1,4 @@
+[HTMLLinkElement-disabled-007.tentative.html]
+ [HTMLLinkElement.disabled setter sets the explicitly enabled state if toggled back and forth.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html.ini b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html.ini
new file mode 100644
index 00000000000..bc28e5443c7
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html.ini
@@ -0,0 +1,2 @@
+[HTMLLinkElement-disabled-alternate.tentative.html]
+ 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 18f786d4963..3423b4af7bf 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -163,7 +163,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;" " text/plain]
- expected: FAIL
+ expected: TIMEOUT
[Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
expected: NOTRUN
@@ -172,7 +172,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
- expected: FAIL
+ expected: TIMEOUT
[Response: combined response Content-Type: text/html;x=" text/plain]
expected: NOTRUN
@@ -202,7 +202,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;" " text/plain]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/plain */*;charset=gbk]
expected: NOTRUN
@@ -286,7 +286,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): combined response Content-Type: text/html;" " text/plain]
expected: NOTRUN
@@ -312,3 +312,33 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [<iframe>: combined response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: FAIL
+
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/fetch/stale-while-revalidate/fetch-sw.https.tentative.html.ini b/tests/wpt/metadata/fetch/stale-while-revalidate/fetch-sw.https.tentative.html.ini
index fd5c53165ea..d5f780deae3 100644
--- a/tests/wpt/metadata/fetch/stale-while-revalidate/fetch-sw.https.tentative.html.ini
+++ b/tests/wpt/metadata/fetch/stale-while-revalidate/fetch-sw.https.tentative.html.ini
@@ -1,4 +1,5 @@
[fetch-sw.https.tentative.html]
+ expected: ERROR
[Second fetch returns same response]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini
new file mode 100644
index 00000000000..9bacb9f5c4e
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-string.tentative.html.ini
@@ -0,0 +1,4 @@
+[javascript-url-abort-return-value-string.tentative.html]
+ [Aborting fetch for javascript:string navigation]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
new file mode 100644
index 00000000000..51f8272a6de
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_3.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_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
new file mode 100644
index 00000000000..dc2e45516de
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_5.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/cross-origin-opener/new_window_same_site.html.ini b/tests/wpt/metadata/html/cross-origin-opener/new_window_same_site.html.ini
new file mode 100644
index 00000000000..d1ebda118ac
--- /dev/null
+++ b/tests/wpt/metadata/html/cross-origin-opener/new_window_same_site.html.ini
@@ -0,0 +1,4 @@
+[new_window_same_site.html]
+ [same-site policy works]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini
new file mode 100644
index 00000000000..13e875ae8a3
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html.ini
@@ -0,0 +1,20 @@
+[security.pattern.fillStyle.sub.html]
+ expected: TIMEOUT
+ [cross-origin SVGImageElement: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean]
+ expected: TIMEOUT
+
+ [unclean HTMLCanvasElement: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean]
+ expected: NOTRUN
+
+ [unclean ImageBitmap: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean]
+ expected: NOTRUN
+
+ [redirected to same-origin HTMLVideoElement: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean]
+ expected: NOTRUN
+
+ [cross-origin HTMLVideoElement: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean]
+ expected: NOTRUN
+
+ [redirected to cross-origin HTMLVideoElement: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini
new file mode 100644
index 00000000000..8cc42056d34
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini
@@ -0,0 +1,10 @@
+[non-active-document.html]
+ [DOMParser]
+ expected: FAIL
+
+ [createHTMLDocument]
+ expected: FAIL
+
+ [<template>]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini b/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini
index 3e87a254e39..18fb863a718 100644
--- a/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/textfieldselection/selection-start-end-extra.html.ini
@@ -11,9 +11,6 @@
[Removing children from a textarea should update selection{Start,End}]
expected: FAIL
- [Setting value to a shorter string than defaultValue should correct the cursor position]
- expected: FAIL
-
[Removing child nodes in non-dirty textarea should make selection{Start,End} 0]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
new file mode 100644
index 00000000000..9e522297c94
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
@@ -0,0 +1,7 @@
+[toggleEvent.html]
+ [Calling open twice on 'details' fires only one toggle event]
+ expected: FAIL
+
+ [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini b/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini
index 6a9a38f56a3..0a95e8057cc 100644
--- a/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini
+++ b/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini
@@ -1,5 +1,4 @@
[processing-instruction.html]
- expected: TIMEOUT
[Styling SVG from ProcessingInstruction stroke]
expected: FAIL
@@ -7,7 +6,7 @@
expected: FAIL
[Styling SVG from ProcessingInstruction mask-image]
- expected: NOTRUN
+ expected: FAIL
[Styling SVG from ProcessingInstruction marker-end]
expected: FAIL
@@ -25,5 +24,5 @@
expected: FAIL
[Styling SVG from ProcessingInstruction mask]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 2b974297198..8d75c147ec2 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index 0c4f84e8644..161226fe512 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 069b8be2307..ccca019bea2 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 2259abf9a22..f04b239de32 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 1792e253c54..83305f6df9d 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index bd331a127bf..8e4d39fbfcb 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index bc53e18c7e2..ce7599014ff 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index 6c4ee499a2e..3ee93245611 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 9103b128296..b1dee3f6c89 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 05ea6871cbc..b6e6dd13a14 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 2b97fa6f3a0..13bf51b9f0c 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index ccc6c7a6877..d4cb4c546a2 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 1e2b1055704..582364b9d6b 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index c44a7952d0b..3c113cadc93 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index a94808c0bd2..a4e09c2cb7e 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index f991d37bafa..e0ec15c6453 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 86ff8379e60..bb7b5a68e5d 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index c0e212de63a..283784ad708 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 75301d8ba54..0ba8bf08141 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index a85c83ce1e4..983ef2008ac 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 0b9e7717c63..3f562e4fd2c 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 7b70f7ed0ae..f4d7be215c3 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 32ed8f7abd6..2eb178080ba 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 82354405ef0..b80d3b8fe48 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 30d13a77473..316fb1b4160 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index be13ae638e3..67a48b005f5 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 9e02f98eb31..b21f5806490 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 30d05813516..ab1ab56ea48 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 3113d29a525..af3301ec557 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index aa3151aa2bd..d72a9835378 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index dde0c362dcd..08c98a2f4a8 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index b1faab0d492..5dcaa637717 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 8445b82923b..304fbf57855 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 624d5f54a2d..c59ff9a96a9 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 2651cd4490e..d97aa17fcd3 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 4339b27d57e..9784deb2ea6 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer-when-downgrade/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index bccb3cdb32d..38eb7f5c43f 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 795e54a5121..7258d796a23 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index b4705268ca1..e7cfa52a277 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index e42751fc4c2..58ad7a29a30 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index c7db52383e5..cafac22aa22 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 0aed4449888..31bda0ed8c0 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index afdaeb029ac..9ddd4e98f93 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index b7e680afc34..863cbd10329 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index a63492e76c3..c25d6026762 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 281998b3df9..98a9a3f7882 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index c24ef4fbd39..715a5623432 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 5d838d720f4..e9f867552f2 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index fbac17774d1..8759cc7d8a6 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 95972bafd88..1ed5d939283 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 45eabe13af6..c4aec609a98 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 478fb42d024..b03e246e22c 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 87807b9646a..58f56faa2ab 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index b60c252db75..2a1e47ee6c6 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 3d953935c38..4889ffb7a98 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 609da1769ba..e6c9ef3b66a 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 77007abec4d..6e0805cef13 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 73c6ad0e18d..4dd78a58398 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 7635d70249e..a5462e6d24a 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index c85e84b65fe..b98fa2268be 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index cda883786f1..6bc9b49f6cb 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 906ba24a745..f2fed41fac4 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index d37c8113ba2..b494ee9fc10 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 59cd8447832..6f6351f75da 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 69016a0dec4..61c98840317 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 06030d0efa1..815a7e77200 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index eb20cf8986e..c9041d202fe 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 42d6a9fe4be..561ff1cb77b 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,8 @@
[generic.http.html]
- [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
- expected: FAIL
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 531802a660a..647e1209200 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 0a2342ffc17..4c526b3f07d 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index e9ff323da6d..a99ba1b9894 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index efacde67120..cf4fccf8abb 100644
--- a/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/no-referrer/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index f1da7691a35..f6cc5c8b478 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
index 338d282c4ee..0187ec44fdf 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index a9c4e3e4de9..c7a5821ace3 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 5aa99515285..c33ac278441 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
index 83245c27aed..b591c591ad4 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index 07f6d8b2a91..9457b8acc54 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
index af466d6cdb7..4f7b66385c7 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
index aa694d7351d..345f9e28f60 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 7d57c808187..a508a5c8310 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
index a8cdbf083ae..53a47ae1f3e 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-upgrade.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
index 623d8086ba4..97cdb7eb53e 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-upgrade.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 439caee4969..4842906dd23 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index e43c95851c1..b379874a669 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
index a8ce14f8920..7a3d827d28f 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index 82fa1e49b57..19566c5f011 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 90406f95655..b8ca8360973 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
index d0c7e8f20af..eaf57948078 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index 156d25b5614..754125fd698 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
index 2b549a2d657..b52f5f0ae89 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
index 324eee67d26..5be743193c8 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 886d579a128..54aa91f1d9e 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
index 1977b8a9d1a..21759dbe5fe 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-upgrade.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
index 87f18711047..52bc34eaa6b 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-upgrade.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 262b52d78cd..b1ef52fb17f 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index b90ca2245d0..9c37db83072 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
index a0f421cb367..445f3171562 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index d4948fee05b..76d14450f12 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 844d4bfda10..6e9f46fcdb8 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
index 9c022f675ab..25b0343d2ea 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index af6e0ae6e64..61c4f15d670 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
index 68b2ebfb09f..42a5eddc4b5 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
index 5464b78f211..e380c0724fc 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 6433d48f279..3ccfba7a01b 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
index 4354ffd4c6c..fd2f84ef2f3 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/same-origin-upgrade.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-upgrade.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
index d34cf83f45a..57dff0004b7 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/same-origin-upgrade.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-upgrade.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 4e7a3eef8db..829532683f7 100644
--- a/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index a37c1bdb29d..5575d734735 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index dc5a19c820b..880256fbfe8 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 56ed507caca..ec8fee6e5ae 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 1ecba587f63..4a538cca739 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index e85063ece1b..d94a3ae6a77 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index feec36cdfc7..0db9a9cc7e8 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 75c59857d99..7311f5838e1 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index e9a5c9dcc14..126c3019d1a 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index a27fccbf77a..d9aeef5b1f3 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index aee7dc05a96..6f3e7511748 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index f35e1924101..56d95eea2f8 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 2d16a4435c8..5cea8df5908 100644
--- a/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index b5c8877c7bc..02e729bafc8 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index efaaac77cc2..af4f3e37cca 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index f69c7d62173..dd6158ab8ad 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 452e018a5f4..4b786b038c4 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 68faab33ad8..0b444ae33d1 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index d68b04e403c..efa2a0748b6 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index d79f45ff240..a9b2b3101f1 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index de30c6ca685..03739c58fa0 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index cea22a06abe..851aba5c66f 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 886454b5f4f..134661f12cd 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 9629d44277b..47131433d4a 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index c9c0db4379b..a2e812db624 100644
--- a/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 14ea7aab148..be7068d2854 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 6efa4fe55f6..9831f4334f0 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 4c33138bc47..3de91ba5396 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 78be5c61a3d..a787e21576d 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 0971220dc40..64b69bf9b03 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 3d80f3aaa56..ab81a586fd5 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 3a0166eb100..3ed858e0204 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 64fb89c5876..c6187700d4d 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 9d599c35402..763fc7a0a63 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index fcb917d0026..9ebd2459526 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 4106d830d6c..248a727ed80 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 25350cd67f7..851fe8df084 100644
--- a/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 45e097d7582..b39adaf343a 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
index 1a87ea15b98..66f332d95f3 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
new file mode 100644
index 00000000000..812424da794
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -0,0 +1,8 @@
+[cross-origin.http.html]
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 3ae726b81bd..43d9bf5b700 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
index 9e1855da025..ec967f22a89 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index 38683ae372f..8670bf3e1b7 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
index af466d6cdb7..4f7b66385c7 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
index aa694d7351d..345f9e28f60 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 807b083b6d7..021cfd48f95 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 8558ef6c822..31f412bd7a4 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index fda310fa177..801ebfb2bc2 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
index 18ab0c8b931..2c5ee2ff048 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
new file mode 100644
index 00000000000..32f7964399a
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -0,0 +1,8 @@
+[cross-origin.http.html]
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 7f86af1ed85..3bbfcc0a024 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
index b6a4d950736..a0537e02577 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index 14cf2703f9f..28f78a9987a 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
index 2b549a2d657..b52f5f0ae89 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
index 324eee67d26..5be743193c8 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index ebbbe4622ef..53c7742cfbe 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 84d11d265b7..426efe16586 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 8cc514a3540..19f2ce0f8f5 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
index 9a519afc94c..4bc948202fb 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
new file mode 100644
index 00000000000..fd40e78d60b
--- /dev/null
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -0,0 +1,8 @@
+[cross-origin.http.html]
+ expected: TIMEOUT
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
index 9484f03a5f1..14298cdd0b8 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
index 9d656d04c15..d017f79ee5f 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
index f3c76a0c742..0942159fbdf 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/cross-origin.http.html.ini
@@ -1,4 +1,11 @@
[cross-origin.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
index 68b2ebfb09f..42a5eddc4b5 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
index 5464b78f211..e380c0724fc 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index 948d9bfe412..b0a277c7721 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
index fe6b50d94cc..727a0ce532f 100644
--- a/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/same-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/same-origin-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-origin-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is omitted when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
index aa819e5c431..01a929705f3 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
index dd4168c5f06..2ac654e6ab3 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
index 2f46947f748..5b7e2e1cf98 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 0bf9fca6954..c9a0fc65b6f 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index dad4d37374e..d80fca2621f 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index b81cecd001d..b76afe55301 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
index 6c404f7a72a..d45f694be68 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
index 8480cc980d0..9ce8e143fd7 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
index 6b62d24204e..e0542354c35 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 0bba0157d34..bbf944474a7 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index c72bf6b2971..84111538613 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 08eac348a64..bc20341fcaf 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
index 0124119314a..9063e6b73bd 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
index 8c5f8590c6f..6d20cfd46e9 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
index 957e39eb850..600ec060fbb 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index c19c543a863..66f4eb345f7 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 3cad81eddd6..544c25d45df 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 4439b230770..c4d20f2ade8 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
index 505c630741f..90f5c85d349 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
index 4fff945831d..2a0b2513060 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
index e64aec6b656..7ba862eff89 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 567306e2357..ea47e822fb5 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index c02d36719e7..e17ce46bcc2 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 469ec1fdadb..0c8859fa229 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
index ecc437d00c2..9c648fd49b0 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
index 4befbc3fda7..3c41d7440b9 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
index eb7fafab879..a57db250043 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/cross-insecure.http.html.ini
@@ -1,4 +1,11 @@
[cross-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index e1f5432f63b..69ee52b3ccb 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index f1eb2130465..f413f270cca 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 1d9a8085d69..ce50032b912 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
index 3e47b4c98d8..eb7fc8a5b47 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
index 89e7e0d384c..9f08fd7a29a 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
index 760d9b8b64b..dfca2b22bbd 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/same-insecure.http.html.ini
@@ -1,4 +1,11 @@
[same-insecure.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 648cff9f4d6..75b5226710b 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index cd6e50dc951..8b1506baca6 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 6a98c62c460..c3b1dcf8a59 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin-when-cross-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 83f7ea34366..f89ac5ccb62 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index d48d9472428..8f0b8d0489c 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index bceeeaf9367..1f54b5c38e0 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 0bf9fca6954..c9a0fc65b6f 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index dad4d37374e..d80fca2621f 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index b81cecd001d..b76afe55301 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 06de8a69a0e..f66cc243c02 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index ff5f2b07583..31832cce8d4 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 7512d2570ba..28cad66eec8 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 0bba0157d34..bbf944474a7 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index c72bf6b2971..84111538613 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 08eac348a64..bc20341fcaf 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index cd937dda271..7f256da5f6d 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index b99e3b8e22e..29a7ba97012 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 43d40b2c831..542caa62c64 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index c19c543a863..66f4eb345f7 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 3cad81eddd6..544c25d45df 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 4439b230770..c4d20f2ade8 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index bdbc85a3dfd..f99b331488d 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index db5326cb909..203162b97e1 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index cd878b2fb17..28836884581 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 567306e2357..ea47e822fb5 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index c02d36719e7..e17ce46bcc2 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 469ec1fdadb..0c8859fa229 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 2c257ce2c6c..52141e6b149 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index e985e89310c..204d6eb5c55 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 0ca26e1bf83..5fff442292f 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index e1f5432f63b..69ee52b3ccb 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index f1eb2130465..f413f270cca 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 1d9a8085d69..ce50032b912 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index a7f44c48f1c..36ee871a3d5 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index 0310fb92647..0651dd7d8c1 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 2e6c2fb6bca..1ef1fb02f7e 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 648cff9f4d6..75b5226710b 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index cd6e50dc951..8b1506baca6 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 6a98c62c460..c3b1dcf8a59 100644
--- a/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/strict-origin/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is origin when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index ae8ec23347a..07ce6cf8412 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index fdcb496294f..df0201c01ba 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index d2967631328..b811a8a2e47 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 6acf86a6147..56ad8def1f6 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index c6dec68c7d9..e10259527ba 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 96d93615f47..8d907c757e7 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 264fc89599c..4983ea82110 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 7ae61942e44..9513cd62147 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index daaf6eb129f..448170bc576 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 2e6c73eb0c6..332083f9a4c 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 850db27c613..077a77022e0 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 550137b9edb..fd9dd77b95d 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index a53d1123738..ae06287f163 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index e631f74251f..b031578c47d 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 3164988cabc..9dca305ff30 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 8b64318849c..2d8f2398fb1 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index e583be018ab..84312717081 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 34bf3b7081f..cd5167f2260 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 25c194a90c5..fef9fae51de 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index d312fb8b894..1286941d61f 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 0b6dc221b30..0fd246ff46c 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index 0c8b03be02b..1441ef9e30a 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index e16b6bde645..df45cca59de 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index 627f6347a3c..8e7b7fd552a 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index 79e18d4337d..c539581de14 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 697c7999c49..a845d5b0a77 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 953235934b5..f83aa07f6e5 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index fe8d7d031c9..590b550c571 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index da22a55fa45..f01ea8cd175 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index a4ac6a12cf9..2b9f4193fc9 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
index d669a7c933e..a9d6e6ae597 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
index 5d82d1d692b..ea4e6607a53 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
index 98e3f7a7336..83b1952832d 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
index a7fbc07c2c5..5d585c4476e 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
index 8bec8fec14f..1724a1f908e 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/no-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
index cbb62e79567..a8b6662a111 100644
--- a/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unsafe-url/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/generic.http.html.ini
@@ -1,4 +1,11 @@
[generic.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 2b974297198..8d75c147ec2 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index 0c4f84e8644..161226fe512 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 069b8be2307..ccca019bea2 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 2259abf9a22..f04b239de32 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 1792e253c54..83305f6df9d 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index bd331a127bf..8e4d39fbfcb 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index bc53e18c7e2..ce7599014ff 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index 6c4ee499a2e..3ee93245611 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 9103b128296..b1dee3f6c89 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 05ea6871cbc..b6e6dd13a14 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 2b97fa6f3a0..13bf51b9f0c 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index ccc6c7a6877..d4cb4c546a2 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/attr-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the attr-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 1e2b1055704..582364b9d6b 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index c44a7952d0b..3c113cadc93 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index a94808c0bd2..a4e09c2cb7e 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index f991d37bafa..e0ec15c6453 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 86ff8379e60..bb7b5a68e5d 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index c0e212de63a..283784ad708 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 75301d8ba54..0ba8bf08141 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index a85c83ce1e4..983ef2008ac 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 0b9e7717c63..3f562e4fd2c 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 7b70f7ed0ae..f4d7be215c3 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 32ed8f7abd6..2eb178080ba 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 82354405ef0..b80d3b8fe48 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/http-rp/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the http-rp\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index 30d13a77473..316fb1b4160 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index be13ae638e3..67a48b005f5 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 9e02f98eb31..b21f5806490 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 30d05813516..ab1ab56ea48 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 3113d29a525..af3301ec557 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index aa3151aa2bd..d72a9835378 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/cross-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is cross-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
index dde0c362dcd..08c98a2f4a8 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/keep-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
index b1faab0d492..5dcaa637717 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/no-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
index 8445b82923b..304fbf57855 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-http/img-tag/swap-origin-redirect/insecure-protocol.http.html.ini
@@ -1,4 +1,11 @@
[insecure-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an http\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
index 624d5f54a2d..c59ff9a96a9 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/keep-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with keep-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
index 2651cd4490e..d97aa17fcd3 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/no-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with no-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
index 4339b27d57e..9784deb2ea6 100644
--- a/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
+++ b/tests/wpt/metadata/referrer-policy/unset-referrer-policy/meta-referrer/same-origin/http-https/img-tag/swap-origin-redirect/upgrade-protocol.http.html.ini
@@ -1,4 +1,11 @@
[upgrade-protocol.http.html]
+ expected: TIMEOUT
[The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin.]
expected: FAIL
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (overridden by srcdoc iframe)]
+ expected: NOTRUN
+
+ [The referrer URL is stripped-referrer when a\n document served over http requires an https\n sub-resource via img-tag using the meta-referrer\n delivery method with swap-origin-redirect and when\n the target request is same-origin. (srcdoc iframe inherits parent)]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/resource-timing/nested-context-navigations-embed.html.ini b/tests/wpt/metadata/resource-timing/nested-context-navigations-embed.html.ini
new file mode 100644
index 00000000000..a1c8326ce53
--- /dev/null
+++ b/tests/wpt/metadata/resource-timing/nested-context-navigations-embed.html.ini
@@ -0,0 +1,20 @@
+[nested-context-navigations-embed.html]
+ expected: TIMEOUT
+ [Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that embed navigations are not observable by the parent, even after history navigations by the parent]
+ expected: TIMEOUT
+
+ [Test that crossorigin embed refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that embed navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin embed navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that embed refreshes are not observable by the parent]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini b/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini
new file mode 100644
index 00000000000..9c3272b35da
--- /dev/null
+++ b/tests/wpt/metadata/resource-timing/nested-context-navigations-iframe.html.ini
@@ -0,0 +1,20 @@
+[nested-context-navigations-iframe.html]
+ expected: TIMEOUT
+ [Test that iframe navigations are not observable by the parent, even after history navigations by the parent]
+ expected: TIMEOUT
+
+ [Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that iframe refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin iframe refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/resource-timing/nested-context-navigations-object.html.ini b/tests/wpt/metadata/resource-timing/nested-context-navigations-object.html.ini
new file mode 100644
index 00000000000..eebfa9b5cf5
--- /dev/null
+++ b/tests/wpt/metadata/resource-timing/nested-context-navigations-object.html.ini
@@ -0,0 +1,20 @@
+[nested-context-navigations-object.html]
+ expected: TIMEOUT
+ [Test that object refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin object refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin object navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that object navigations are not observable by the parent, even after history navigations by the parent]
+ expected: TIMEOUT
+
+ [Test that object navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini
deleted file mode 100644
index dbea4f293ad..00000000000
--- a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[transition_calc_implicit.html]
- expected: TIMEOUT
diff --git a/tests/wpt/web-platform-tests/.gitignore b/tests/wpt/web-platform-tests/.gitignore
index cc4bd700eea..0f080ca986b 100644
--- a/tests/wpt/web-platform-tests/.gitignore
+++ b/tests/wpt/web-platform-tests/.gitignore
@@ -2,6 +2,7 @@
*.py[co]
.cache/
.coverage*
+.mypy_cache/
.pytest_cache/
.tox/
.virtualenv/
diff --git a/tests/wpt/web-platform-tests/.pyup.yml b/tests/wpt/web-platform-tests/.pyup.yml
index 2249e1a89dc..f31f2440630 100644
--- a/tests/wpt/web-platform-tests/.pyup.yml
+++ b/tests/wpt/web-platform-tests/.pyup.yml
@@ -10,6 +10,9 @@ requirements:
- tools/requirements_flake8.txt:
update: all
pin: True
+ - tools/requirements_mypy.txt:
+ update: all
+ pin: True
- tools/wpt/requirements.txt:
update: all
pin: True
diff --git a/tests/wpt/web-platform-tests/.well-known/idp-proxy/mock-idp.js b/tests/wpt/web-platform-tests/.well-known/idp-proxy/mock-idp.js
index 242b4ef56f6..e73ca22bb2a 100644
--- a/tests/wpt/web-platform-tests/.well-known/idp-proxy/mock-idp.js
+++ b/tests/wpt/web-platform-tests/.well-known/idp-proxy/mock-idp.js
@@ -55,9 +55,7 @@ function parseQueryString(urlStr) {
};
*/
-// In RTCIdentityProviderGlobalScope, global is self
-const global = self;
-const query = parseQueryString(global.location);
+const query = parseQueryString(location);
// Generate a naive identity assertion. The result assertion
// is a JSON string that report the various parameters
@@ -73,8 +71,8 @@ function generateAssertion(contents, origin, options) {
};
const env = {
- origin: global.origin,
- location: global.location
+ origin,
+ location
};
const assertion = {
@@ -84,11 +82,6 @@ function generateAssertion(contents, origin, options) {
query
};
- const idp = {
- domain: global.location.host,
- protocol: 'mock-idp.js'
- };
-
const assertionStr = JSON.stringify(assertion);
const { generatorAction } = query;
@@ -100,7 +93,7 @@ function generateAssertion(contents, origin, options) {
} else if(generatorAction === 'require-login') {
const err = new RTCError('idp-need-login');
- err.idpLoginUrl = `${self.origin}/login`;
+ err.idpLoginUrl = `${origin}/login`;
err.idpErrorInfo = 'login required';
throw err;
@@ -120,7 +113,10 @@ function generateAssertion(contents, origin, options) {
} else {
return {
- idp,
+ idp: {
+ domain: location.host,
+ protocol: 'mock-idp.js'
+ },
assertion: assertionStr
};
}
@@ -141,8 +137,8 @@ function generateAssertion(contents, origin, options) {
function validateAssertion(assertionStr, origin) {
const assertion = JSON.parse(assertionStr);
- const { param, query } = assertion;
- const { contents, options } = param;
+ const { args, query } = assertion;
+ const { contents, options } = args;
const identity = options.usernameHint;
@@ -188,10 +184,10 @@ function validateAssertion(assertionStr, origin) {
};
*/
-// if global.rtcIdentityProvider is defined, and the caller do not ask
+// if rtcIdentityProvider is defined, and the caller do not ask
// to not register through query string, register our assertion callbacks.
-if(global.rtcIdentityProvider && query.action !== 'do-not-register') {
- global.rtcIdentityProvider.register({
+if(rtcIdentityProvider && query.action !== 'do-not-register') {
+ rtcIdentityProvider.register({
generateAssertion,
validateAssertion
});
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 ae8c70f9c07..9f19f6ae66b 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
@@ -5,9 +5,9 @@
<script src="/resources/testharnessreport.js"></script>
<script src="/common/media.js"></script>
<script src="/common/namespaces.js"></script>
+<script src="/common/canvas-tests.js"></script>
<div id=log></div>
<script>
-const crossOriginImageUrl = "http://{{domains[www1]}}:{{ports[http][0]}}/images/red.png";
function assert_origin_unclean_getImageData(bitmap) {
const context = document.createElement("canvas").getContext("2d");
@@ -31,92 +31,9 @@ function assert_origin_unclean_transferFromImageBitmap(bitmap) {
assert_throws('SecurityError', () => canvas.toDataURL());
}
-function makeImage() {
- return new Promise((resolve, reject) => {
- const image = new Image();
- image.onload = () => resolve(image);
- image.onerror = reject;
- image.src = crossOriginImageUrl;
- });
-}
-
-const arguments = [
- {
- name: "cross-origin HTMLImageElement",
- factory: makeImage,
- },
-
- {
- name: "cross-origin SVGImageElement",
- factory: () => {
- return new Promise((resolve, reject) => {
- const image = document.createElementNS(NAMESPACES.svg, "image");
- image.onload = () => resolve(image);
- image.onerror = reject;
- image.setAttribute("externalResourcesRequired", "true");
- image.setAttributeNS(NAMESPACES.xlink, 'xlink:href', crossOriginImageUrl);
- document.body.appendChild(image);
- });
- },
- },
-
- {
- name: "cross-origin HTMLVideoElement",
- factory: () => {
- return new Promise((resolve, reject) => {
- const video = document.createElement("video");
- video.oncanplaythrough = () => resolve(video);
- video.onerror = reject;
- video.src = getVideoURI("http://{{domains[www1]}}:{{ports[http][0]}}/media/movie_300");
- });
- },
- },
-
- {
- name: "redirected to cross-origin HTMLVideoElement",
- factory: () => {
- return new Promise((resolve, reject) => {
- const video = document.createElement("video");
- video.oncanplaythrough = () => resolve(video);
- video.onerror = reject;
- video.src = "/common/redirect.py?location=" + getVideoURI("http://{{domains[www1]}}:{{ports[http][0]}}/media/movie_300");
- });
- },
- },
-
- {
- name: "redirected to same-origin HTMLVideoElement",
- factory: () => {
- return new Promise((resolve, reject) => {
- const video = document.createElement("video");
- video.oncanplaythrough = () => resolve(video);
- video.onerror = reject;
- video.src = "http://{{domains[www1]}}:{{ports[http][0]}}/common/redirect.py?location=" + getVideoURI("http://{{domains[]}}:{{ports[http][0]}}/media/movie_300");
- });
- },
- },
-
- {
- name: "unclean HTMLCanvasElement",
- factory: () => {
- return makeImage().then(image => {
- const canvas = document.createElement("canvas");
- const context = canvas.getContext("2d");
- context.drawImage(image, 0, 0);
- return canvas;
- });
- },
- },
-
- {
- name: "unclean ImageBitmap",
- factory: () => {
- return makeImage().then(createImageBitmap);
- },
- },
-];
-
-for (let { name, factory } of arguments) {
+forEachCanvasSource("http://{{domains[www1]}}:{{ports[http][0]}}",
+ "http://{{domains[]}}:{{ports[http][0]}}",
+ (name, factory) => {
promise_test(function() {
return factory().then(createImageBitmap).then(assert_origin_unclean_getImageData);
}, `${name}: origin unclear getImageData`);
@@ -126,5 +43,5 @@ for (let { name, factory } of arguments) {
promise_test(function() {
return factory().then(createImageBitmap).then(assert_origin_unclean_transferFromImageBitmap);
}, `${name}: origin unclear bitmaprenderer.transferFromImageBitmap`);
-}
+});
</script>
diff --git a/tests/wpt/web-platform-tests/CONTRIBUTING.md b/tests/wpt/web-platform-tests/CONTRIBUTING.md
index 427ec682793..baa208e30f4 100644
--- a/tests/wpt/web-platform-tests/CONTRIBUTING.md
+++ b/tests/wpt/web-platform-tests/CONTRIBUTING.md
@@ -1,32 +1,4 @@
-Grant of License
-----------------
-
-By contributing to this repository, you and the company you represent, if the
-company holds any copyrights in the contribution, grant to the W3C a perpetual,
-non-exclusive, royalty-free, world-wide right and license under all of your
-copyrights in this contribution to copy, publish, use, and modify the
-contribution and to distribute the contribution under a BSD License or one with
-more restrictive terms, as well as a right and license of the same scope to any
-derivative works prepared by the W3C and based on or incorporating all or part
-of the contribution. You further agree that any derivative works of this
-contribution prepared by the W3C shall be solely owned by the W3C.
-
-You state, to the best of your knowledge, that you, or the company you
-represent, have all rights necessary to contribute the materials.
-
-W3C will retain attribution of initial authorship to you. The W3C makes no
-a-priori commitment to support or distribute contributions.
-
-Disclaimer
-----------
-
-All content from this repository is provided as is, and W3C makes no
-representations or warranties, express or implied, including, but not limited
-to, warranties of merchantability, fitness for a particular purpose,
-non-infringement, or title; nor that the contents of this repository are
-suitable for any purpose. We make no representations, express or implied, that
-the content of this repository or the use thereof indicates conformance to a
-specification. All content is provided as-is to help reach interoperability.
+All contributions are licensed under the terms of the LICENSE.md file.
Documentation
-------------
diff --git a/tests/wpt/web-platform-tests/LICENSE.md b/tests/wpt/web-platform-tests/LICENSE.md
index 6b346a528cd..ad4858c8745 100644
--- a/tests/wpt/web-platform-tests/LICENSE.md
+++ b/tests/wpt/web-platform-tests/LICENSE.md
@@ -1,33 +1,11 @@
-# Dual-License for W3C Test Suites
+# The 3-Clause BSD License
-All documents in this Repository are licensed by contributors to be distributed under both the [W3C Test Suite License](#w3c-test-suite-license) and the [W3C 3-clause BSD License](#w3c-3-clause-bsd-license), reproduced below. The choice of license is up to the licensee. For more information, see [Licenses for W3C Test Suites](https://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html)
-
-# W3C Test Suite License
-
-This document, Test Suites and other documents that link to this statement are provided by the copyright holders under the following license: By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
-
-Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use:
-
-* A link or URL to the original W3C document.
-* The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (MIT, ERCIM, Keio, Beihang) and others. All Rights Reserved. http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html"
-* If it exists, the STATUS of the W3C document.
-
-When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.
-
-No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements.
-
-If a Test Suite distinguishes the test harness (or, framework for navigation) and the actual tests, permission is given to remove or alter the harness or navigation if the Test Suite in question allows to do so. The tests themselves shall NOT be changed in any way.
-
-The name and trademarks of W3C and other copyright holders may NOT be used in advertising or publicity pertaining to this document or other documents that link to this statement without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. Permission is given to use the trademarked string "W3C" within claims of performance concerning W3C Specifications or features described therein, and there only, if the test suite so authorizes.
-
-THIS WORK IS PROVIDED BY W3C, MIT, ERCIM, KEIO, BEIHANG, THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL W3C, MIT, ERCIM, KEIO, BEIHANG, THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# W3C 3-clause BSD License
+Copyright 2019 web-platform-tests contributors
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-* Redistributions of works must retain the original copyright notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the original copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-* Neither the name of the W3C nor the names of its contributors may be used to endorse or promote products derived from this work without specific prior written permission.
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/tests/wpt/web-platform-tests/common/canvas-tests.js b/tests/wpt/web-platform-tests/common/canvas-tests.js
index 732f2a435b8..2d0397b42d2 100644
--- a/tests/wpt/web-platform-tests/common/canvas-tests.js
+++ b/tests/wpt/web-platform-tests/common/canvas-tests.js
@@ -107,3 +107,94 @@ function addCrossOriginRedirectYellowImage()
get_host_info().HTTP_REMOTE_ORIGIN + "/images/yellow.png";
document.body.appendChild(img);
}
+
+function forEachCanvasSource(crossOriginUrl, sameOriginUrl, callback) {
+ function makeImage() {
+ return new Promise((resolve, reject) => {
+ const image = new Image();
+ image.onload = () => resolve(image);
+ image.onerror = reject;
+ image.src = crossOriginUrl + "/images/red.png";
+ });
+ }
+
+ const arguments = [
+ {
+ name: "cross-origin HTMLImageElement",
+ factory: makeImage,
+ },
+
+ {
+ name: "cross-origin SVGImageElement",
+ factory: () => {
+ return new Promise((resolve, reject) => {
+ const image = document.createElementNS(NAMESPACES.svg, "image");
+ image.onload = () => resolve(image);
+ image.onerror = reject;
+ image.setAttribute("externalResourcesRequired", "true");
+ image.setAttributeNS(NAMESPACES.xlink, 'xlink:href', crossOriginUrl + "/images/red.png");
+ document.body.appendChild(image);
+ });
+ },
+ },
+
+ {
+ name: "cross-origin HTMLVideoElement",
+ factory: () => {
+ return new Promise((resolve, reject) => {
+ const video = document.createElement("video");
+ video.oncanplaythrough = () => resolve(video);
+ video.onerror = reject;
+ video.src = getVideoURI(crossOriginUrl + "/media/movie_300");
+ });
+ },
+ },
+
+ {
+ name: "redirected to cross-origin HTMLVideoElement",
+ factory: () => {
+ return new Promise((resolve, reject) => {
+ const video = document.createElement("video");
+ video.oncanplaythrough = () => resolve(video);
+ video.onerror = reject;
+ video.src = "/common/redirect.py?location=" + getVideoURI(crossOriginUrl + "/media/movie_300");
+ });
+ },
+ },
+
+ {
+ name: "redirected to same-origin HTMLVideoElement",
+ factory: () => {
+ return new Promise((resolve, reject) => {
+ const video = document.createElement("video");
+ video.oncanplaythrough = () => resolve(video);
+ video.onerror = reject;
+ video.src = crossOriginUrl + "/common/redirect.py?location=" + getVideoURI(sameOriginUrl + "/media/movie_300");
+ });
+ },
+ },
+
+ {
+ name: "unclean HTMLCanvasElement",
+ factory: () => {
+ return makeImage().then(image => {
+ const canvas = document.createElement("canvas");
+ const context = canvas.getContext("2d");
+ context.drawImage(image, 0, 0);
+ return canvas;
+ });
+ },
+ },
+
+ {
+ name: "unclean ImageBitmap",
+ factory: () => {
+ return makeImage().then(createImageBitmap);
+ },
+ },
+ ];
+
+ for (let { name, factory } of arguments) {
+ callback(name, factory);
+ }
+}
diff --git a/tests/wpt/web-platform-tests/common/security-features/README.md b/tests/wpt/web-platform-tests/common/security-features/README.md
index 45cd74ede74..a2ae9aa8e16 100644
--- a/tests/wpt/web-platform-tests/common/security-features/README.md
+++ b/tests/wpt/web-platform-tests/common/security-features/README.md
@@ -2,3 +2,12 @@ This directory contains the common infrastructure for the following tests.
- referrer-policy/
- mixed-content/
- upgrade-insecure-requests/
+
+Subdirectories:
+- `subresource`:
+ Serves subresources, with support for redirects, stash, etc.
+ The subresource paths are managed by `subresourceMap` and
+ fetched in `requestVia*()` functions in `resources/common.js`.
+- `scope`:
+ Serves nested contexts, such as iframe documents or workers.
+ Used from `invokeFrom*()` functions in `resources/common.js`.
diff --git a/tests/wpt/web-platform-tests/common/security-features/resources/common.js b/tests/wpt/web-platform-tests/common/security-features/resources/common.js
index 936b39e50ed..782e428c66f 100644
--- a/tests/wpt/web-platform-tests/common/security-features/resources/common.js
+++ b/tests/wpt/web-platform-tests/common/security-features/resources/common.js
@@ -5,6 +5,133 @@
* method's JSDoc.
*/
+// ===============================================================
+// Types
+// ===============================================================
+// Objects of the following types are used to represent what kind of
+// subresource requests should be sent with what kind of policies,
+// from what kind of possibly nested source contexts.
+// The objects are represented as JSON objects (not JavaScript/Python classes
+// in a strict sense) to be passed between JavaScript/Python code.
+
+// Note: So far this document covers:
+// - resources/common.js : client-side test infra code
+// - scope/ - server-side scripts that serves nested source contexts
+// but doesn't cover:
+// - tools/ - generator scripts that generates top-level HTML documents.
+// There are some policies only handled by generators (e.g. mixed-content
+// opt-ins) and not yet covered by the docs here.
+
+/**
+ @typedef PolicyDelivery
+ @type {object}
+ Referrer policy etc. can be applied/delivered in several ways.
+ A PolicyDelivery object specifies what policy is delivered and how.
+
+ @property {string} deliveryType
+ Specifies how the policy is delivered.
+ The valid deliveryType are:
+
+ "attr"
+ [A] DOM attributes e.g. referrerPolicy.
+
+ "rel-noref"
+ [A] <link rel="noreferrer"> (referrer-policy only).
+
+ "http-rp"
+ [B] HTTP response headers.
+
+ "meta"
+ [B] <meta> elements.
+
+ @property {string} key
+ @property {string} value
+ Specifies what policy to be delivered. The valid keys are:
+
+ "referrerPolicy"
+ Referrer Policy
+ https://w3c.github.io/webappsec-referrer-policy/
+ Valid values are those listed in
+ https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
+ (except that "" is represented as null/None)
+
+ A PolicyDelivery can be specified in several ways:
+
+ - (for [A]) Associated with an individual subresource request and
+ specified in `Subresource.policies`,
+ e.g. referrerPolicy attributes of DOM elements.
+ This is handled in invokeRequest().
+
+ - (for [B]) Associated with an nested environmental settings object and
+ specified in `SourceContext.policies`,
+ e.g. HTTP referrer-policy response headers of HTML/worker scripts.
+ This is handled in server-side under /common/security-features/scope/.
+
+ - (for [B]) Associated with the top-level HTML document.
+ This is handled by the generators.d
+*/
+
+/**
+ @typedef Subresource
+ @type {object}
+ A Subresource represents how a subresource request is sent.
+
+ @property{SubresourceType} subresourceType
+ How the subresource request is sent,
+ e.g. "img-tag" for sending a request via <img src>.
+ See the keys of `subresourceMap` for valid values.
+
+ @property{string} url
+ subresource's URL.
+ Typically this is constructed by getRequestURLs() below.
+
+ @property{PolicyDelivery} policyDeliveries
+ Policies delivered specific to the subresource request.
+*/
+
+/**
+ @typedef SourceContext
+ @type {object}
+ Requests can be possibly sent from various kinds of source contexts, i.e.
+ fetch client's environment settings objects:
+ top-level windows, iframes, or workers.
+ A SourceContext object specifies one environment settings object, and
+ an Array<SourceContext> specifies a possibly nested context,
+ from the outer-most to inner-most environment settings objects.
+
+ For example:
+ [{sourceContextType: "srcdoc"}, {sourceContextType: "classic-worker"}]
+ means that a subresource request is to be sent from
+ a classic dedicated worker created from <iframe srcdoc>
+ inside the top-level HTML document.
+ Note: the top-level document is not included in the array and
+ is assumed implicitly.
+
+ SourceContext (or Array<SourceContext>) is set based on
+ the fetch client's settings object that is used for the subresource request,
+ NOT on module map settings object, and
+ NOT on the inner-most settings object that appears in the test.
+ For example, Array<SourceContext> is `[]` (indicating the top Window)
+ for `worker.js`
+ - When it is the root worker script: `new Worker('worker.js')`, or
+ - When it is imported from the root worker script:
+ `new Worker('top.js', {type: 'module'})`
+ where `top.js` has `import 'worker.js'`.
+ because the request for `worker.js` uses the Window as its fetch client's
+ settings object, while a WorkerGlobalScope is created though.
+
+ @property {string} sourceContextType
+ Kind of the source context to be used.
+ Valid values are the keys of `sourceContextMap` below.
+
+ @property {Array<PolicyDelivery>} policyDeliveries
+ A list of PolicyDelivery applied to the source context.
+*/
+
+// ===============================================================
+// General utility functions
+// ===============================================================
+
function timeoutPromise(t, ms) {
return new Promise(resolve => { t.step_timeout(resolve, ms); });
}
@@ -70,8 +197,16 @@ function xhrRequest(url, responseType) {
*/
function setAttributes(el, attrs) {
attrs = attrs || {}
- for (var attr in attrs)
- el.setAttribute(attr, attrs[attr]);
+ for (var attr in attrs) {
+ if (attr !== 'src')
+ el.setAttribute(attr, attrs[attr]);
+ }
+ // Workaround for Chromium: set <img>'s src attribute after all other
+ // attributes to ensure the policy is applied.
+ for (var attr in attrs) {
+ if (attr === 'src')
+ el.setAttribute(attr, attrs[attr]);
+ }
}
/**
@@ -202,52 +337,79 @@ function wrapResult(server_data) {
}
}
-// `requestVia*()` functions return promises that are resolved on successful
-// requests with objects with the following keys:
-// - `headers`: HTTP request headers sent to server.
-// - `referrer`: Referrer.
-// - `location`: The URL of the subresource.
-//
-// Category 1:
-// `headers`: set.
-// `referrer`: set via `document.referrer`.
-// `location`: set via `document.location`.
-// See `template/document.html.template`.
-// Category 2:
-// `headers`: set.
-// `referrer`: set to `headers.referer` by `wrapResult()`.
-// `location`: not set.
-// Category 3:
-// All the keys listed above are NOT set.
-//
-// -------------------------------- -------- --------------------------
-// Function name Category Used in
-// -------- ------- ---------
-// referrer mixed- upgrade-
-// policy content insecure-
-// policy content request
-// -------------------------------- -------- -------- ------- ---------
-// requestViaAnchor 1 Y Y -
-// requestViaArea 1 Y Y -
-// requestViaAudio 3 - Y -
-// requestViaDedicatedWorker 2 Y Y Y
-// requestViaFetch 2 Y Y -
-// requestViaForm 3 - Y -
-// requestViaIframe 1 Y Y -
-// requestViaImage 3 - Y -
-// requestViaImageForReferrerPolicy 2 Y - -
-// requestViaLinkPrefetch 3 - Y -
-// requestViaLinkStylesheet 3 - Y -
-// requestViaObject 3 - Y -
-// requestViaPicture 3 - Y -
-// requestViaScript 2 Y Y -
-// requestViaSendBeacon 3 - Y -
-// requestViaSharedWorker 2 Y - -
-// requestViaVideo 3 - Y -
-// requestViaWebSocket 3 - Y -
-// requestViaWorklet 3 - Y Y
-// requestViaXhr 2 Y Y -
-// -------------------------------- -------- -------- ------- ---------
+// ===============================================================
+// Subresources
+// ===============================================================
+
+/**
+ @typedef RequestResult
+ @type {object}
+ Represents the result of sending an request.
+ All properties are optional. See the comments for
+ requestVia*() and invokeRequest() below to see which properties are set.
+
+ @property {Array<Object<string, string>>} headers
+ HTTP request headers sent to server.
+ @property {string} referrer - Referrer.
+ @property {string} location - The URL of the subresource.
+ @property {string} sourceContextUrl
+ the URL of the global object where the actual request is sent.
+*/
+
+/**
+ requestVia*(url, additionalAttributes) functions send a subresource
+ request from the current environment settings object.
+
+ @param {string} url
+ The URL of the subresource.
+ @param {Object<string, string>} additionalAttributes
+ Additional attributes set to DOM elements
+ (element-initiated requests only).
+
+ @returns {Promise} that are resolved with a RequestResult object
+ on successful requests.
+
+ - Category 1:
+ `headers`: set.
+ `referrer`: set via `document.referrer`.
+ `location`: set via `document.location`.
+ See `template/document.html.template`.
+ - Category 2:
+ `headers`: set.
+ `referrer`: set to `headers.referer` by `wrapResult()`.
+ `location`: not set.
+ - Category 3:
+ All the keys listed above are NOT set.
+ `sourceContextUrl` is not set here.
+
+ -------------------------------- -------- --------------------------
+ Function name Category Used in
+ -------- ------- ---------
+ referrer mixed- upgrade-
+ policy content insecure-
+ policy content request
+ -------------------------------- -------- -------- ------- ---------
+ requestViaAnchor 1 Y Y -
+ requestViaArea 1 Y Y -
+ requestViaAudio 3 - Y -
+ requestViaDedicatedWorker 2 Y Y Y
+ requestViaFetch 2 Y Y -
+ requestViaForm 3 - Y -
+ requestViaIframe 1 Y Y -
+ requestViaImage 2 Y Y -
+ requestViaLinkPrefetch 3 - Y -
+ requestViaLinkStylesheet 3 - Y -
+ requestViaObject 3 - Y -
+ requestViaPicture 3 - Y -
+ requestViaScript 2 Y Y -
+ requestViaSendBeacon 3 - Y -
+ requestViaSharedWorker 2 Y - -
+ requestViaVideo 3 - Y -
+ requestViaWebSocket 3 - Y -
+ requestViaWorklet 3 - Y Y
+ requestViaXhr 2 Y Y -
+ -------------------------------- -------- -------- ------- ---------
+*/
/**
* Creates a new iframe, binds load and error events, sets the src attribute and
@@ -274,40 +436,23 @@ function requestViaIframe(url, additionalAttributes) {
* @param {string} url The src for the image.
* @return {Promise} The promise for success/error events.
*/
-function requestViaImage(url) {
- return createRequestViaElement("img", {"src": url}, document.body);
-}
-
-// Helpers for requestViaImageForReferrerPolicy().
-function loadImageInWindow(src, attributes, w) {
- return new Promise((resolve, reject) => {
- var image = new w.Image();
- image.crossOrigin = "Anonymous";
- image.onload = function() {
- resolve(image);
- };
-
- // Extend element with attributes. (E.g. "referrerPolicy" or "rel")
- if (attributes) {
- for (var attr in attributes) {
- image[attr] = attributes[attr];
- }
- }
-
- image.src = src;
- w.document.body.appendChild(image)
- });
+function requestViaImage(url, additionalAttributes) {
+ const img = createElement(
+ "img",
+ // crossOrigin attribute is added to read the pixel data of the response.
+ Object.assign({"src": url, "crossOrigin": "Anonymous"}, additionalAttributes),
+ document.body, true);
+ return img.eventPromise.then(() => wrapResult(decodeImageData(img)));
}
-function extractImageData(img) {
- var canvas = document.createElement("canvas");
- var context = canvas.getContext('2d');
- context.drawImage(img, 0, 0);
- var imgData = context.getImageData(0, 0, img.clientWidth, img.clientHeight);
- return imgData.data;
-}
+// Helper for requestViaImage().
+function decodeImageData(img) {
+ var canvas = document.createElement("canvas");
+ var context = canvas.getContext('2d');
+ context.drawImage(img, 0, 0);
+ var imgData = context.getImageData(0, 0, img.clientWidth, img.clientHeight);
+ const rgba = imgData.data;
-function decodeImageData(rgba) {
let decodedBytes = new Uint8ClampedArray(rgba.length);
let decodedLength = 0;
@@ -349,62 +494,6 @@ function decodeImageData(rgba) {
return JSON.parse(string_data);
}
-// A variant of requestViaImage for referrer policy tests.
-// This tests many patterns of <iframe>s to test referrer policy inheritance.
-// TODO(https://crbug.com/906850): Merge this into requestViaImage().
-// <iframe>-related code should be moved outside requestViaImage*().
-function requestViaImageForReferrerPolicy(url, attributes, referrerPolicy) {
- // For images, we'll test:
- // - images in a `srcdoc` frame to ensure that it uses the referrer
- // policy of its parent,
- // - images in a top-level document,
- // - and images in a `srcdoc` frame with its own referrer policy to
- // override its parent.
-
- var iframeWithoutOwnPolicy = document.createElement('iframe');
- var noSrcDocPolicy = new Promise((resolve, reject) => {
- iframeWithoutOwnPolicy.srcdoc = "Hello, world.";
- iframeWithoutOwnPolicy.onload = resolve;
- document.body.appendChild(iframeWithoutOwnPolicy);
- })
- .then(() => {
- var nextUrl = url + "&cache_destroyer2=" + (new Date()).getTime();
- return loadImageInWindow(nextUrl, attributes,
- iframeWithoutOwnPolicy.contentWindow);
- })
- .then(function (img) {
- return decodeImageData(extractImageData(img));
- });
-
- // Give a srcdoc iframe a referrer policy different from the top-level page's policy.
- var iframePolicy = (referrerPolicy === "no-referrer") ? "unsafe-url" : "no-referrer";
- var iframeWithOwnPolicy = document.createElement('iframe');
- var srcDocPolicy = new Promise((resolve, reject) => {
- iframeWithOwnPolicy.srcdoc = "<meta name='referrer' content='" + iframePolicy + "'>Hello world.";
- iframeWithOwnPolicy.onload = resolve;
- document.body.appendChild(iframeWithOwnPolicy);
- })
- .then(() => {
- var nextUrl = url + "&cache_destroyer3=" + (new Date()).getTime();
- return loadImageInWindow(nextUrl, null,
- iframeWithOwnPolicy.contentWindow);
- })
- .then(function (img) {
- return decodeImageData(extractImageData(img));
- });
-
- var pagePolicy = loadImageInWindow(url, attributes, window)
- .then(function (img) {
- return decodeImageData(extractImageData(img));
- });
-
- return Promise.all([noSrcDocPolicy, srcDocPolicy, pagePolicy]).then(values => {
- assert_equals(values[0].headers.referer, values[2].headers.referer, "Referrer inside 'srcdoc' without its own policy should be the same as embedder's referrer.");
- assert_equals((iframePolicy === "no-referrer" ? undefined : document.location.href), values[1].headers.referer, "Referrer inside 'srcdoc' should use the iframe's policy if it has one");
- return wrapResult(values[2]);
- });
-}
-
/**
* Initiates a new XHR GET request to provided URL.
* @param {string} url The endpoint URL for the XHR.
@@ -745,6 +834,14 @@ function requestViaWebSocket(url) {
});
}
+/**
+ @typedef SubresourceType
+ @type {string}
+
+ Represents how a subresource is sent.
+ The keys of `subresourceMap` below are the valid values.
+*/
+
// Subresource paths and invokers.
const subresourceMap = {
"a-tag": {
@@ -778,7 +875,6 @@ const subresourceMap = {
"img-tag": {
path: "/common/security-features/subresource/image.py",
invoker: requestViaImage,
- invokerForReferrerPolicy: requestViaImageForReferrerPolicy,
},
"link-css-tag": {
path: "/common/security-features/subresource/empty.py",
@@ -854,6 +950,35 @@ for (const workletType of ['animation', 'audio', 'layout', 'paint']) {
};
}
+/**
+ @typedef RedirectionType
+ @type {string}
+
+ Represents what redirects should occur to the subresource request
+ after initial request.
+ See preprocess_redirection() in
+ /common/security-features/subresource/subresource.py for valid values.
+*/
+
+/**
+ Construct subresource (and related) URLs.
+
+ @param {SubresourceType} subresourceType
+ @param {OriginType} originType
+ @param {RedirectionType} redirectionType
+ @returns {object} with following properties:
+ {string} testUrl
+ The subresource request URL.
+ {string} announceUrl
+ {string} assertUrl
+ The URLs to be used for detecting whether `testUrl` is actually sent
+ to the server.
+ 1. Fetch `announceUrl` first,
+ 2. then possibly fetch `testUrl`, and
+ 3. finally fetch `assertUrl`.
+ The fetch result of `assertUrl` should indicate whether
+ `testUrl` is actually sent to the server or not.
+*/
function getRequestURLs(subresourceType, originType, redirectionType) {
const key = guid();
const value = guid();
@@ -875,6 +1000,122 @@ function getRequestURLs(subresourceType, originType, redirectionType) {
};
}
+// ===============================================================
+// Source Context
+// ===============================================================
+// Requests can be sent from several source contexts,
+// such as the main documents, iframes, workers, or so,
+// possibly nested, and possibly with <meta>/http headers added.
+// invokeRequest() and invokeFrom*() functions handles
+// SourceContext-related setup in client-side.
+
+/**
+ invokeRequest() invokes a subresource request
+ (specified as `subresource`)
+ from a (possibly nested) environment settings object
+ (specified as `sourceContextList`).
+
+ For nested contexts, invokeRequest() calls an invokeFrom*() function
+ that creates a nested environment settings object using
+ /common/security-features/scope/, which calls invokeRequest()
+ again inside the nested environment settings object.
+ This cycle continues until all specified
+ nested environment settings object are created, and
+ finally invokeRequest() calls a requestVia*() function to start the
+ subresource request from the inner-most environment settings object.
+
+ @param {Subresource} subresource
+ @param {Array<SourceContext>} sourceContextList
+
+ @returns {Promise} A promise that is resolved with an RequestResult object.
+ `sourceContextUrl` is always set. For whether other properties are set,
+ see the comments for requestVia*() above.
+*/
+function invokeRequest(subresource, sourceContextList) {
+ if (sourceContextList.length === 0) {
+ // No further nested global objects. Send the subresource request here.
+
+ const additionalAttributes = {};
+ /** @type {PolicyDelivery} policyDelivery */
+ for (const policyDelivery of (subresource.policyDeliveries || [])) {
+ // Depending on the delivery method, extend the subresource element with
+ // these attributes.
+ if (policyDelivery.deliveryType === "attr") {
+ additionalAttributes[policyDelivery.key] = policyDelivery.value;
+ } else if (policyDelivery.deliveryType === "rel-noref") {
+ additionalAttributes["rel"] = "noreferrer";
+ }
+ }
+
+ return subresourceMap[subresource.subresourceType].invoker(
+ subresource.url,
+ additionalAttributes)
+ .then(result => Object.assign(
+ {sourceContextUrl: location.toString()},
+ result));
+ }
+
+ // Defines invokers for each valid SourceContext.sourceContextType.
+ const sourceContextMap = {
+ "srcdoc": { // <iframe srcdoc></iframe>
+ invoker: invokeFromIframe,
+ },
+ "iframe": { // <iframe src="same-origin-URL"></iframe>
+ invoker: invokeFromIframe,
+ },
+ };
+
+ return sourceContextMap[sourceContextList[0].sourceContextType].invoker(
+ subresource, sourceContextList);
+}
+
+/**
+ invokeFrom*() functions are helper functions with the same parameters
+ and return values as invokeRequest(), that are tied to specific types
+ of top-most environment settings objects.
+ For example, invokeFromIframe() is the helper function for the cases where
+ sourceContextList[0] is an iframe.
+*/
+
+function invokeFromIframe(subresource, sourceContextList) {
+ const currentSourceContext = sourceContextList.shift();
+ const frameUrl =
+ "/common/security-features/scope/document.py?policyDeliveries=" +
+ encodeURIComponent(JSON.stringify(
+ currentSourceContext.policyDeliveries || []));
+
+ let promise;
+ if (currentSourceContext.sourceContextType === 'srcdoc') {
+ promise = fetch(frameUrl)
+ .then(r => r.text())
+ .then(srcdoc => {
+ return createElement("iframe", {srcdoc: srcdoc}, document.body, true);
+ });
+ } else if (currentSourceContext.sourceContextType === 'iframe') {
+ promise = Promise.resolve(
+ createElement("iframe", {src: frameUrl}, document.body, true));
+ }
+
+ return promise
+ .then(iframe => {
+ return iframe.eventPromise
+ .then(() => {
+ const promise = bindEvents2(
+ window, "message", iframe, "error", window, "error");
+ iframe.contentWindow.postMessage(
+ {subresource: subresource,
+ sourceContextList: sourceContextList},
+ "*");
+ return promise;
+ })
+ .then(event => {
+ if (event.data.error)
+ return Promise.reject(event.data.error);
+ return event.data;
+ });
+ });
+}
+
// SanityChecker does nothing in release mode. See sanity-checker.js for debug
// mode.
function SanityChecker() {}
diff --git a/tests/wpt/web-platform-tests/common/security-features/scope/document.py b/tests/wpt/web-platform-tests/common/security-features/scope/document.py
new file mode 100644
index 00000000000..3fc61a1e7ba
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/scope/document.py
@@ -0,0 +1,35 @@
+import os, sys, json
+
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import util
+
+
+def main(request, response):
+ policyDeliveries = json.loads(request.GET.first("policyDeliveries", "[]"))
+ maybe_additional_headers = {}
+ meta = ''
+ error = ''
+ for delivery in policyDeliveries:
+ if delivery['deliveryType'] == 'meta':
+ if delivery['key'] == 'referrerPolicy':
+ meta += '<meta name="referrer" content="%s">' % delivery['value']
+ else:
+ error = 'invalid delivery key'
+ elif delivery['deliveryType'] == 'http-rp':
+ if delivery['key'] == 'referrerPolicy':
+ maybe_additional_headers['Referrer-Policy'] = delivery['value']
+ else:
+ error = 'invalid delivery key'
+ else:
+ error = 'invalid deliveryType'
+
+ handler = lambda: util.get_template("document.html.template") % ({
+ "meta": meta,
+ "error": error
+ })
+ util.respond(
+ request,
+ response,
+ payload_generator=handler,
+ content_type="text/html",
+ maybe_additional_headers=maybe_additional_headers)
diff --git a/tests/wpt/web-platform-tests/common/security-features/scope/template/document.html.template b/tests/wpt/web-platform-tests/common/security-features/scope/template/document.html.template
new file mode 100644
index 00000000000..feccb69e9de
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/scope/template/document.html.template
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ %(meta)s
+ <script src="/common/security-features/resources/common.js"></script>
+ <script>
+ // Receive a message from the parent and start the test.
+ function onMessageFromParent(event) {
+ // Because this window might receive messages from child iframe during
+ // tests, we first remove the listener here before staring the test.
+ window.removeEventListener('message', onMessageFromParent);
+
+ const configurationError = "%(error)s";
+ if (configurationError.length > 0) {
+ parent.postMessage({error: configurationError}, "*");
+ return;
+ }
+
+ invokeRequest(event.data.subresource,
+ event.data.sourceContextList)
+ .then(result => parent.postMessage(result, "*"))
+ .catch(e => {
+ const message = (e.error && e.error.stack) || e.message || "Error";
+ parent.postMessage({error: message}, "*");
+ });
+ }
+ window.addEventListener('message', onMessageFromParent);
+ </script>
+ </head>
+</html>
diff --git a/tests/wpt/web-platform-tests/common/security-features/scope/util.py b/tests/wpt/web-platform-tests/common/security-features/scope/util.py
new file mode 100644
index 00000000000..42f8326b36a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/scope/util.py
@@ -0,0 +1,42 @@
+import os
+
+
+def get_template(template_basename):
+ script_directory = os.path.dirname(os.path.abspath(__file__))
+ template_directory = os.path.abspath(
+ os.path.join(script_directory, "template"))
+ template_filename = os.path.join(template_directory, template_basename)
+
+ with open(template_filename, "r") as f:
+ return f.read()
+
+
+def __noop(request, response):
+ return ""
+
+
+def respond(request,
+ response,
+ status_code=200,
+ content_type="text/html",
+ payload_generator=__noop,
+ cache_control="no-cache; must-revalidate",
+ access_control_allow_origin="*",
+ maybe_additional_headers=None):
+ response.add_required_headers = False
+ response.writer.write_status(status_code)
+
+ if access_control_allow_origin != None:
+ response.writer.write_header("access-control-allow-origin",
+ access_control_allow_origin)
+ response.writer.write_header("content-type", content_type)
+ response.writer.write_header("cache-control", cache_control)
+
+ additional_headers = maybe_additional_headers or {}
+ for header, value in additional_headers.items():
+ response.writer.write_header(header, value)
+
+ response.writer.end_headers()
+
+ payload = payload_generator()
+ response.writer.write(payload)
diff --git a/tests/wpt/web-platform-tests/common/security-features/tools/generate.py b/tests/wpt/web-platform-tests/common/security-features/tools/generate.py
new file mode 100644
index 00000000000..50c3a2c250c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/tools/generate.py
@@ -0,0 +1,189 @@
+from __future__ import print_function
+
+import copy
+import os, sys, json
+import spec_validator
+import argparse
+import util
+
+
+def expand_pattern(expansion_pattern, test_expansion_schema):
+ expansion = {}
+ for artifact_key in expansion_pattern:
+ artifact_value = expansion_pattern[artifact_key]
+ if artifact_value == '*':
+ expansion[artifact_key] = test_expansion_schema[artifact_key]
+ elif isinstance(artifact_value, list):
+ expansion[artifact_key] = artifact_value
+ elif isinstance(artifact_value, dict):
+ # Flattened expansion.
+ expansion[artifact_key] = []
+ values_dict = expand_pattern(artifact_value,
+ test_expansion_schema[artifact_key])
+ for sub_key in values_dict.keys():
+ expansion[artifact_key] += values_dict[sub_key]
+ else:
+ expansion[artifact_key] = [artifact_value]
+
+ return expansion
+
+
+def permute_expansion(expansion, artifact_order, selection = {}, artifact_index = 0):
+ assert isinstance(artifact_order, list), "artifact_order should be a list"
+
+ if artifact_index >= len(artifact_order):
+ yield selection
+ return
+
+ artifact_key = artifact_order[artifact_index]
+
+ for artifact_value in expansion[artifact_key]:
+ selection[artifact_key] = artifact_value
+ for next_selection in permute_expansion(expansion,
+ artifact_order,
+ selection,
+ artifact_index + 1):
+ yield next_selection
+
+
+def generate_selection(config, selection, spec, test_html_template_basename):
+ # TODO: Refactor out this referrer-policy-specific part.
+ if 'referrer_policy' in spec:
+ # Oddball: it can be None, so in JS it's null.
+ selection['referrer_policy'] = spec['referrer_policy']
+
+ test_parameters = json.dumps(selection, indent=2, separators=(',', ':'))
+ # Adjust the template for the test invoking JS. Indent it to look nice.
+ indent = "\n" + " " * 8
+ test_parameters = test_parameters.replace("\n", indent)
+
+ selection['test_js'] = '''
+ %s(
+ %s,
+ document.querySelector("meta[name=assert]").content,
+ new SanityChecker()
+ ).start();
+ ''' % (config.test_case_name, test_parameters)
+
+ selection['spec_name'] = spec['name']
+ selection['test_page_title'] = config.test_page_title_template % spec['title']
+ selection['spec_description'] = spec['description']
+ selection['spec_specification_url'] = spec['specification_url']
+ selection['helper_js'] = config.helper_js
+ selection['sanity_checker_js'] = config.sanity_checker_js
+ selection['spec_json_js'] = config.spec_json_js
+
+ test_filename = os.path.join(config.spec_directory, config.test_file_path_pattern % selection)
+ test_headers_filename = test_filename + ".headers"
+ test_directory = os.path.dirname(test_filename)
+
+ test_html_template = util.get_template(test_html_template_basename)
+ disclaimer_template = util.get_template('disclaimer.template')
+
+ html_template_filename = os.path.join(util.template_directory,
+ test_html_template_basename)
+ generated_disclaimer = disclaimer_template \
+ % {'generating_script_filename': os.path.relpath(__file__,
+ util.test_root_directory),
+ 'html_template_filename': os.path.relpath(html_template_filename,
+ util.test_root_directory)}
+
+ # Adjust the template for the test invoking JS. Indent it to look nice.
+ selection['generated_disclaimer'] = generated_disclaimer.rstrip()
+ selection['test_description'] = config.test_description_template % selection
+ selection['test_description'] = \
+ selection['test_description'].rstrip().replace("\n", "\n" + " " * 33)
+
+ # Directory for the test files.
+ try:
+ os.makedirs(test_directory)
+ except:
+ pass
+
+ delivery = config.handleDelivery(selection, spec)
+
+ if len(delivery['headers']) > 0:
+ with open(test_headers_filename, "w") as f:
+ for header in delivery['headers']:
+ f.write(header)
+ f.write('\n')
+
+ selection['meta_delivery_method'] = delivery['meta']
+ # Obey the lint and pretty format.
+ if len(selection['meta_delivery_method']) > 0:
+ selection['meta_delivery_method'] = "\n " + \
+ selection['meta_delivery_method']
+
+ # Write out the generated HTML file.
+ util.write_file(test_filename, test_html_template % selection)
+
+
+def generate_test_source_files(config, spec_json, target):
+ test_expansion_schema = spec_json['test_expansion_schema']
+ specification = spec_json['specification']
+
+ spec_json_js_template = util.get_template('spec_json.js.template')
+ generated_spec_json_filename = os.path.join(config.spec_directory, "spec_json.js")
+ util.write_file(generated_spec_json_filename,
+ spec_json_js_template % {'spec_json': json.dumps(spec_json)})
+
+ # Choose a debug/release template depending on the target.
+ html_template = "test.%s.html.template" % target
+
+ artifact_order = test_expansion_schema.keys() + ['name']
+ artifact_order.remove('expansion')
+
+ # Create list of excluded tests.
+ exclusion_dict = {}
+ for excluded_pattern in spec_json['excluded_tests']:
+ excluded_expansion = \
+ expand_pattern(excluded_pattern, test_expansion_schema)
+ for excluded_selection in permute_expansion(excluded_expansion,
+ artifact_order):
+ excluded_selection_path = config.selection_pattern % excluded_selection
+ exclusion_dict[excluded_selection_path] = True
+
+ for spec in specification:
+ # Used to make entries with expansion="override" override preceding
+ # entries with the same |selection_path|.
+ output_dict = {}
+
+ for expansion_pattern in spec['test_expansion']:
+ expansion = expand_pattern(expansion_pattern, test_expansion_schema)
+ for selection in permute_expansion(expansion, artifact_order):
+ selection_path = config.selection_pattern % selection
+ if not selection_path in exclusion_dict:
+ if selection_path in output_dict:
+ if expansion_pattern['expansion'] != 'override':
+ print("Error: %s's expansion is default but overrides %s" % (selection['name'], output_dict[selection_path]['name']))
+ sys.exit(1)
+ output_dict[selection_path] = copy.deepcopy(selection)
+ else:
+ print('Excluding selection:', selection_path)
+
+ for selection_path in output_dict:
+ selection = output_dict[selection_path]
+ generate_selection(config,
+ selection,
+ spec,
+ html_template)
+
+
+def main(config):
+ parser = argparse.ArgumentParser(description='Test suite generator utility')
+ parser.add_argument('-t', '--target', type = str,
+ choices = ("release", "debug"), default = "release",
+ help = 'Sets the appropriate template for generating tests')
+ parser.add_argument('-s', '--spec', type = str, default = None,
+ help = 'Specify a file used for describing and generating the tests')
+ # TODO(kristijanburnik): Add option for the spec_json file.
+ args = parser.parse_args()
+
+ if args.spec:
+ config.spec_directory = args.spec
+
+ spec_filename = os.path.join(config.spec_directory, "spec.src.json")
+ spec_json = util.load_spec_json(spec_filename)
+ spec_validator.assert_valid_spec_json(spec_json)
+
+ generate_test_source_files(config, spec_json, args.target)
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/template/disclaimer.template b/tests/wpt/web-platform-tests/common/security-features/tools/template/disclaimer.template
index 66c43ed6f21..66c43ed6f21 100644
--- a/tests/wpt/web-platform-tests/mixed-content/generic/template/disclaimer.template
+++ b/tests/wpt/web-platform-tests/common/security-features/tools/template/disclaimer.template
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/template/spec_json.js.template b/tests/wpt/web-platform-tests/common/security-features/tools/template/spec_json.js.template
index e4cbd034259..e4cbd034259 100644
--- a/tests/wpt/web-platform-tests/mixed-content/generic/template/spec_json.js.template
+++ b/tests/wpt/web-platform-tests/common/security-features/tools/template/spec_json.js.template
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.release.html.template b/tests/wpt/web-platform-tests/common/security-features/tools/template/test.debug.html.template
index e55a50bdc41..7d4a9f12664 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.release.html.template
+++ b/tests/wpt/web-platform-tests/common/security-features/tools/template/test.debug.html.template
@@ -2,15 +2,20 @@
%(generated_disclaimer)s
<html>
<head>
- <title>Referrer-Policy: %(spec_title)s</title>
- <meta name="description" content="%(spec_description)s">%(meta_delivery_method)s
+ <title>%(test_page_title)s</title>
+ <meta charset='utf-8'>
+ <meta name="description" content="%(spec_description)s">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="%(spec_specification_url)s">
- <meta name="assert" content="%(test_description)s">
+ <meta name="assert" content="%(test_description)s">%(meta_delivery_method)s
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.js"></script>
- <script src="/referrer-policy/generic/referrer-policy-test-case.js?pipe=sub"></script>
+ <!-- The original specification JSON for validating the scenario. -->
+ <script src="%(spec_json_js)s"></script>
+ <!-- Internal checking of the tests -->
+ <script src="%(sanity_checker_js)s"></script>
+ <script src="%(helper_js)s"></script>
</head>
<body>
<script>%(test_js)s</script>
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/template/test.release.html.template b/tests/wpt/web-platform-tests/common/security-features/tools/template/test.release.html.template
index 188e32fde4b..091f59be90d 100644
--- a/tests/wpt/web-platform-tests/mixed-content/generic/template/test.release.html.template
+++ b/tests/wpt/web-platform-tests/common/security-features/tools/template/test.release.html.template
@@ -2,16 +2,16 @@
%(generated_disclaimer)s
<html>
<head>
- <title>Mixed-Content: %(spec_title)s</title>
+ <title>%(test_page_title)s</title>
<meta charset='utf-8'>
<meta name="description" content="%(spec_description)s">
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
<link rel="help" href="%(spec_specification_url)s">
- <meta name="assert" content="%(test_description)s">%(meta_opt_in)s
+ <meta name="assert" content="%(test_description)s">%(meta_delivery_method)s
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/security-features/resources/common.js"></script>
- <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
+ <script src="%(helper_js)s"></script>
</head>
<body>
<script>%(test_js)s</script>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/tools/common_paths.py b/tests/wpt/web-platform-tests/common/security-features/tools/util.py
index 1066fb5bb23..77b89769ca2 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/tools/common_paths.py
+++ b/tests/wpt/web-platform-tests/common/security-features/tools/util.py
@@ -3,27 +3,11 @@ from __future__ import print_function
import os, sys, json, re
script_directory = os.path.dirname(os.path.abspath(__file__))
-generic_directory = os.path.abspath(os.path.join(script_directory, '..'))
-
template_directory = os.path.abspath(os.path.join(script_directory,
- '..',
'template'))
-spec_directory = os.path.abspath(os.path.join(script_directory, '..', '..'))
test_root_directory = os.path.abspath(os.path.join(script_directory,
'..', '..', '..'))
-spec_filename = os.path.join(spec_directory, "spec.src.json")
-generated_spec_json_filename = os.path.join(spec_directory, "spec_json.js")
-
-selection_pattern = '%(delivery_method)s/' + \
- '%(origin)s/' + \
- '%(source_protocol)s-%(target_protocol)s/' + \
- '%(subresource)s/' + \
- '%(redirection)s/'
-
-test_file_path_pattern = '%(spec_name)s/' + selection_pattern + \
- '%(name)s.%(source_protocol)s.html'
-
def get_template(basename):
with open(os.path.join(template_directory, basename), "r") as f:
@@ -42,10 +26,7 @@ def read_nth_line(fp, line_number):
return line
-def load_spec_json(path_to_spec = None):
- if path_to_spec is None:
- path_to_spec = spec_filename
-
+def load_spec_json(path_to_spec):
re_error_location = re.compile('line ([0-9]+) column ([0-9]+)')
with open(path_to_spec, "r") as f:
try:
diff --git a/tests/wpt/web-platform-tests/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html b/tests/wpt/web-platform-tests/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html
new file mode 100644
index 00000000000..426b47537bf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/floats-clear/adjoining-float-nested-forced-clearance.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#flow-control">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="position: absolute; width: 100px; height: 100px; background: red;"></div>
+<div style="position: absolute; width: 100px;">
+ <div>
+ <div style="float:left; width:100px; height:50px; background: green;"></div>
+ <div style="clear:both;">
+ <div style="float:left; width:10px; height:10px;"></div>
+ <div style="margin-top:100px; height:50px; background: green;"></div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184-ref.xht b/tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184-ref.xht
deleted file mode 100644
index a3a002927a5..00000000000
--- a/tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184-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 Reference: Green 'canadian syllabics chi sign' punctuation character</title>
- <style type="text/css">
- span
- {
- color: green;
- font-size: 36px;
- line-height: 2;
- }
- </style>
- </head>
- <body>
- <p>Test passes if the "T" and surrounding punctuation below are green.</p>
- <div><span>&#x166D;T&#x166D;</span>est</div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184.xht b/tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184.xht
deleted file mode 100644
index ba4755c1ba8..00000000000
--- a/tests/wpt/web-platform-tests/css/CSS2/selectors/first-letter-punctuation-184.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: First-letter with the 'canadian syllabics chi sign' punctuation character</title>
- <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
- <link rel="help" href="http://www.w3.org/TR/CSS21/selector.html#first-letter" />
- <link rel="match" href="first-letter-punctuation-184-ref.xht" />
- <meta name="flags" content="" />
- <meta name="assert" content="Punctuation characters defined in Unicode [UNICODE] in (Ps),(Pe),(Pi),(Pf) and (Po) punctuation classes that precede or follow the first letter are included in first-letter selection - 'canadian syllabics chi sign'." />
- <style type="text/css">
- div:first-letter
- {
- color: green;
- font-size: 36px;
- line-height: 2;
- }
- </style>
- </head>
- <body>
- <p>Test passes if the "T" and surrounding punctuation below are green.</p>
- <div>&#x166D;T&#x166D;est</div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016-ref.xht b/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016-ref.xht
new file mode 100644
index 00000000000..2ec1fb0447c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016-ref.xht
@@ -0,0 +1,24 @@
+<!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 Reference</title>
+ <style type="text/css">
+ #test
+ {
+ outline: solid blue 10px;
+ height: 1in;
+ width: 1in;
+ }
+ #table
+ {
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a blue box below.</p>
+ <div id="table">
+ <img id="test"></img>
+ </div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016.xht b/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016.xht
new file mode 100644
index 00000000000..89ba125e511
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-016.xht
@@ -0,0 +1,30 @@
+<!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: Outline applied to replaced element with display table-column-group</title>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines" />
+ <link rel="match" href="outline-applies-to-016-ref.xht"/>
+ <meta name="flags" content="" />
+ <meta name="assert" content="The 'outline' property applies to replaced elements with a display of table-column-group." />
+ <style type="text/css">
+ #test
+ {
+ display: table-column-group;
+ outline: solid blue 10px;
+ height: 1in;
+ width: 1in;
+ }
+ #table
+ {
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a blue box below.</p>
+ <div id="table">
+ <img id="test"></img>
+ </div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-017.xht b/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-017.xht
new file mode 100644
index 00000000000..d209d658650
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/CSS2/ui/outline-applies-to-017.xht
@@ -0,0 +1,30 @@
+<!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: Outline applied to replaced element with display table-column</title>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines" />
+ <link rel="match" href="outline-applies-to-016-ref.xht"/>
+ <meta name="flags" content="" />
+ <meta name="assert" content="The 'outline' property applies to replaced elements with a display of table-column." />
+ <style type="text/css">
+ #test
+ {
+ display: table-column;
+ outline: solid blue 10px;
+ height: 1in;
+ width: 1in;
+ }
+ #table
+ {
+ display: table;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a blue box below.</p>
+ <div id="table">
+ <img id="test"></img>
+ </div>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html
index c11b0a90876..175acf84246 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/Document-getAnimations.tentative.html
@@ -18,12 +18,6 @@
@keyframes animRight {
to { right: 100px }
}
-::before {
- content: ''
-}
-::after {
- content: ''
-}
</style>
<div id="log"></div>
<script>
@@ -251,34 +245,77 @@ test(t => {
}, 'CSS Animations canceled and restarted via the API are returned');
test(t => {
- addStyle(t, { '#parent::after': 'animation: animLeft 10s;',
- '#parent::before': 'animation: animRight 10s;' });
- // create two divs with these arrangement:
+ // Create two divs with the following arrangement:
+ //
// parent
+ // (::marker,)
// ::before,
// ::after
// |
// child
- const parent = addDiv(t, { 'id': 'parent' });
+
+ addStyle(t, {
+ '#parent::after': "content: ''; animation: animLeft 100s;",
+ '#parent::before': "content: ''; animation: animRight 100s;",
+ });
+
+ const supportsMarkerPseudos = CSS.supports('selector(::marker)');
+ if (supportsMarkerPseudos) {
+ addStyle(t, {
+ '#parent': 'display: list-item;',
+ '#parent::marker': "content: ''; animation: animLeft 100s;",
+ });
+ }
+
+ const parent = addDiv(t, { id: 'parent' });
const child = addDiv(t);
parent.appendChild(child);
for (const div of [parent, child]) {
- div.setAttribute('style', 'animation: animBottom 10s');
+ div.setAttribute('style', 'animation: animBottom 100s');
+ }
+
+ const expectedAnimations = [
+ [parent, undefined],
+ [parent, '::marker'],
+ [parent, '::before'],
+ [parent, '::after'],
+ [child, undefined],
+ ];
+ if (!supportsMarkerPseudos) {
+ expectedAnimations.splice(1, 1);
}
- const anims = document.getAnimations();
- assert_equals(anims.length, 4,
- 'CSS animations on both pseudo-elements and elements ' +
- 'are returned');
- assert_equals(anims[0].effect.target, parent,
- 'The animation targeting the parent element comes first');
- assert_equals(anims[1].effect.target.type, '::before',
- 'The animation targeting the ::before element comes second');
- assert_equals(anims[2].effect.target.type, '::after',
- 'The animation targeting the ::after element comes third');
- assert_equals(anims[3].effect.target, child,
- 'The animation targeting the child element comes last');
-}, 'CSS Animations targetting (pseudo-)elements should have correct order ' +
- 'after sorting');
+ const animations = document.getAnimations();
+ assert_equals(
+ animations.length,
+ expectedAnimations.length,
+ 'CSS animations on both pseudo-elements and elements are returned'
+ );
+
+ for (const [index, expected] of expectedAnimations.entries()) {
+ const [element, pseudo] = expected;
+ const actual = animations[index];
+
+ if (pseudo) {
+ assert_equals(
+ actual.effect.target.element,
+ element,
+ `Animation #${index + 1} has expected target`
+ );
+ assert_equals(
+ actual.effect.target.type,
+ pseudo,
+ `Animation #${index + 1} has expected pseudo type`
+ );
+ } else {
+ assert_equals(
+ actual.effect.target,
+ element,
+ `Animation #${index + 1} has expected target`
+ );
+ }
+ }
+}, 'CSS Animations targetting (pseudo-)elements should have correct order '
+ + 'after sorting');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html b/tests/wpt/web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html
new file mode 100644
index 00000000000..90c7b86ab9d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-animations/animationevent-marker-pseudoelement.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Animations Test: AnimationEvent pseudoElement</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<link rel="help" href="https://drafts.csswg.org/css-animations/#interface-animationevent">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+ #target::marker {
+ content: "";
+ animation: move 1s;
+ }
+
+ @keyframes move {
+ to { transform: translate(100px); }
+ }
+
+ #target {
+ display: list-item;
+ list-style-position: inside;
+ }
+</style>
+<div id='target'></div>
+<script>
+ async_test(function(t) {
+ var target = document.getElementById('target');
+ target.addEventListener("animationstart", t.step_func(function(evt) {
+ assert_true(evt instanceof window.AnimationEvent);
+ assert_equals(evt.pseudoElement, "::marker");
+
+ t.done();
+ }), true);
+ }, "AnimationEvent should have the correct pseudoElement memeber");
+</script>
+
diff --git a/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html b/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html
index 93d452ace07..f4f9e29a3c8 100644
--- a/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-animations/event-order.tentative.html
@@ -6,10 +6,14 @@
<script src="/resources/testharnessreport.js"></script>
<script src="support/testcommon.js"></script>
<style>
- @keyframes anim {
- from { margin-left: 0px; }
- to { margin-left: 100px; }
- }
+@keyframes anim {
+ from { margin-left: 0px; }
+ to { margin-left: 100px; }
+}
+@keyframes color-anim {
+ from { color: red; }
+ to { color: green; }
+}
</style>
<div id="log"></div>
<script type='text/javascript'>
@@ -20,38 +24,69 @@
* @param actualEvents An array of the received AnimationEvent objects.
* @param expectedEvents A series of array objects representing the expected
* events, each having the form:
- * [ event type, target element, elapsed time ]
+ * [ event type, target element, [pseudo type], elapsed time ]
*/
const checkEvents = (actualEvents, ...expectedEvents) => {
- assert_equals(actualEvents.length, expectedEvents.length,
- `Number of actual events (${actualEvents.length}: \
-${actualEvents.map(event => event.type).join(', ')}) should match expected \
-events (${expectedEvents.map(event => event.type).join(', ')})`);
-
- actualEvents.forEach((actualEvent, i) => {
- assert_equals(expectedEvents[i][0], actualEvent.type,
- 'Event type should match');
- assert_equals(expectedEvents[i][1], actualEvent.target,
- 'Event target should match');
- assert_equals(expectedEvents[i][2], actualEvent.elapsedTime,
- 'Event\'s elapsed time should match');
- });
+ const actualTypeSummary = actualEvents.map(event => event.type).join(', ');
+ const expectedTypeSummary = expectedEvents.map(event => event[0]).join(', ');
+
+ assert_equals(
+ actualEvents.length,
+ expectedEvents.length,
+ `Number of events received (${actualEvents.length}) \
+should match expected number (${expectedEvents.length}) \
+(expected: ${expectedTypeSummary}, actual: ${actualTypeSummary})`
+ );
+
+ for (const [index, actualEvent] of actualEvents.entries()) {
+ const expectedEvent = expectedEvents[index];
+ const [type, target] = expectedEvent;
+ const pseudoElement = expectedEvent.length === 4 ? expectedEvent[2] : '';
+ const elapsedTime = expectedEvent[expectedEvent.length - 1];
+
+ assert_equals(
+ actualEvent.type,
+ type,
+ `Event #${index + 1} types should match \
+(expected: ${expectedTypeSummary}, actual: ${actualTypeSummary})`
+ );
+ assert_equals(
+ actualEvent.target,
+ target,
+ `Event #${index + 1} targets should match`
+ );
+ assert_equals(
+ actualEvent.pseudoElement,
+ pseudoElement,
+ `Event #${index + 1} pseudoElements should match`
+ );
+ assert_equals(
+ actualEvent.elapsedTime,
+ elapsedTime,
+ `Event #${index + 1} elapsedTimes should match`
+ );
+ }
};
const setupAnimation = (t, animationStyle, receiveEvents) => {
- const div = addDiv(t, { style: "animation: " + animationStyle });
+ const div = addDiv(t, { style: 'animation: ' + animationStyle });
for (const name of ['start', 'iteration', 'end']) {
div['onanimation' + name] = evt => {
- receiveEvents.push({ type: evt.type,
- target: evt.target,
- elapsedTime: evt.elapsedTime });
+ receiveEvents.push({
+ type: evt.type,
+ target: evt.target,
+ pseudoElement: evt.pseudoElement,
+ elapsedTime: evt.elapsedTime,
+ });
};
}
- const watcher = new EventWatcher(t, div, [ 'animationstart',
- 'animationiteration',
- 'animationend' ]);
+ const watcher = new EventWatcher(t, div, [
+ 'animationstart',
+ 'animationiteration',
+ 'animationend',
+ ]);
const animation = div.getAnimations()[0];
@@ -92,7 +127,64 @@ promise_test(async t => {
checkEvents(events, ['animationend', div1, 200],
['animationend', div2, 200]);
-}, 'Test same events are ordered by elements.');
+}, 'Same events are ordered by elements');
+
+promise_test(async t => {
+ // Setup a hierarchy as follows:
+ //
+ // parent
+ // |
+ // (::marker, ::before, ::after)
+ // |
+ // child
+ const parentDiv = addDiv(t, { style: 'animation: anim 100s' });
+
+ parentDiv.id = 'parent-div';
+ addStyle(t, {
+ '#parent-div::after': "content: ''; animation: anim 100s",
+ '#parent-div::before': "content: ''; animation: anim 100s",
+ });
+
+ if (CSS.supports('selector(::marker)')) {
+ parentDiv.style.display = 'list-item';
+ addStyle(t, {
+ '#parent-div::marker': "content: ''; animation: color-anim 100s",
+ });
+ }
+
+ const childDiv = addDiv(t, { style: 'animation: anim 100s' });
+ parentDiv.append(childDiv);
+
+ // Setup event handlers
+ let events = [];
+ for (const name of ['start', 'iteration', 'end', 'cancel']) {
+ parentDiv['onanimation' + name] = evt => {
+ events.push({
+ type: evt.type,
+ target: evt.target,
+ pseudoElement: evt.pseudoElement,
+ elapsedTime: evt.elapsedTime,
+ });
+ };
+ }
+
+ // Wait a couple of frames for the events to be dispatched
+ await waitForFrame();
+ await waitForFrame();
+
+ const expectedEvents = [
+ ['animationstart', parentDiv, 0],
+ ['animationstart', parentDiv, '::marker', 0],
+ ['animationstart', parentDiv, '::before', 0],
+ ['animationstart', parentDiv, '::after', 0],
+ ['animationstart', childDiv, 0],
+ ];
+ if (!CSS.supports('selector(::marker)')) {
+ expectedEvents.splice(1, 1);
+ }
+
+ checkEvents(events, ...expectedEvents);
+}, 'Same events on pseudo-elements follow the prescribed order');
promise_test(async t => {
let events = [];
@@ -113,7 +205,7 @@ promise_test(async t => {
checkEvents(events, ['animationiteration', div2, 300],
['animationstart', div1, 0]);
-}, 'Test start and iteration events are ordered by time.');
+}, 'Start and iteration events are ordered by time');
promise_test(async t => {
let events = [];
@@ -135,7 +227,7 @@ promise_test(async t => {
checkEvents(events, ['animationiteration', div2, 100],
['animationend', div1, 150]);
-}, 'Test iteration and end events are ordered by time.');
+}, 'Iteration and end events are ordered by time');
promise_test(async t => {
let events = [];
@@ -156,6 +248,6 @@ promise_test(async t => {
['animationstart', div1, 0],
['animationend', div1, 100],
['animationend', div2, 200]);
-}, 'Test start and end events are sorted correctly when fired simultaneously');
+}, 'Start and end events are sorted correctly when fired simultaneously');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1-ref.html b/tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1-ref.html
new file mode 100644
index 00000000000..df3aaf33740
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1-ref.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+ <head>
+ <title>Reference: CSS display:contents; in Shadow DOM</title>
+ <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=907396">
+<style>
+html,body {
+ color:black; background-color:white; font:12px/1 monospace; padding:0; margin:0;
+}
+
+span { color:blue; }
+</style>
+ </head>
+ <body>
+ <div>X 1 c</div>
+ <div>a 2 c</div>
+ <div>a 3 Y</div>
+ <div>X 4 Y</div>
+ <div>a 5 Y</div>
+ <div>X <span>6</span> c</div>
+ <div>a <span>7</span> c</div>
+ <div>a <span>8</span> Y</div>
+ <div>X <span>9</span> Y</div>
+ <div>a <span>A</span> Y</div>
+ <div>a <span>1 2</span> B</div>
+ <div>A <span>a 1 2 c</span> B</div>
+ <div>A <span>a 1 a 2 ca 3 c</span> B</div>
+ <div>A <span>a 1 c a 2 c</span> B</div>
+ <div>X <span>a 1 c a 2 c</span> B</div>
+ <div><span>1a 2 c</span></div>
+ <div><span>a 1 c2</span></div>
+ <div>A<span>b</span>c</div>
+ <div>A<span>b</span>c</div>
+ <div><span>b c</span>d</div>
+ <div><span>a </span>b</div>
+ <div><b>One</b><i>Two</i></div>
+ <div><b>One</b><i>Two</i></div>
+ <div><b>One</b><i>Two</i></div>
+ <div><b>One</b><i>Two</i></div>
+ <b style="color:blue">One</b><i style="color:blue">Two</i>Three
+ <div></div>
+ <b style="color:green">V</b>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html b/tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html
new file mode 100644
index 00000000000..1f391163da0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-display/display-contents-shadow-dom-1.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html class="reftest-wait" lang="en-US">
+ <head>
+ <meta charset="utf-8">
+ <title>CSS Test: CSS display:contents; in Shadow DOM</title>
+ <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=907396">
+ <link rel="help" href="https://drafts.csswg.org/css-display/">
+ <link rel="match" href="display-contents-shadow-dom-1-ref.html">
+<style>
+html,body {
+ color:black; background-color:white; font:12px/1 monospace; padding:0; margin:0;
+}
+.before::before, ::slotted(.before)::before {content: "a ";}
+.after::after, ::slotted(.after)::after {content: " c";}
+div.before::before {content: "X ";}
+div.after::after {content: " Y";}
+.b, .c, ::slotted(.b), ::slotted(.c) { display:contents; }
+</style>
+ </head>
+ <body>
+ <div id="host1" class="before"></div>
+ <span id="host2"></span>
+ <div id="host3" class="after"></div>
+ <div id="host4" class="before after"></div>
+ <div id="host5" class="after"></div>
+ <div id="host6" class="before"></div>
+ <div id="host7"></div>
+ <div id="host8" class="after"></div>
+ <div id="host9" class="before after"></div>
+ <div id="hostA" class="after"></div>
+ <div id="hostB"></div>
+ <div id="hostC"></div>
+ <div id="hostD"></div>
+ <div id="hostE"></div>
+ <div id="hostF" class="before"></div>
+ <div id="hostG"></div>
+ <span id="hostH"></span>
+ <div id="hostI"></div>
+ <div id="hostJ"></div>
+ <span id="hostK"></span>
+ <div id="hostL"></div>
+ <div id="hostM"><i slot=i>Two</i><b slot=b>One</b></div>
+ <div id="hostN"><i slot=i class="c">Two</i><b slot=b>One</b></div>
+ <div id="hostO"><i slot=i>Two</i><b slot=b class="c">One</b></div>
+ <div id="hostP"><i slot=i class="c">Two</i><b slot=b class="c">One</b></div>
+ <div id="hostQ" class="c" style="color:blue"><i slot=i class="c">Two</i><b slot=b class="c">One</b></div>Three
+ <div id="hostS" class="c"><span class="c">S</span></div>
+ <div id="hostT" class="c">T</div>
+ <div id="hostU"><span slot="c">U</span></div>
+ <div id="hostV" class="c" style="color:red"><b slot="b" class="c" style="color:inherit">V</b></div>
+
+ <script>
+ function shadow(id) {
+ return document.getElementById(id).attachShadow({mode:"open"});
+ }
+ function span(s) {
+ var e = document.createElement("span");
+ var t = document.createTextNode(s);
+ e.appendChild(t);
+ return e;
+ }
+ function text(s) {
+ return document.createTextNode(s);
+ }
+ function contents(n, slotName) {
+ var e = document.createElement("z");
+ e.style.display = "contents";
+ e.style.color = "blue";
+ if (n) e.appendChild(n);
+ if (slotName) e.setAttribute("slot", slotName);
+ return e;
+ }
+
+ function run() {
+ document.body.offsetHeight;
+
+ shadow("host1").innerHTML = '<slot style="display:inline"></slot> c';
+ shadow("host2").innerHTML = 'a <slot style="display:contents"></slot> c';
+ shadow("host3").innerHTML = 'a <slot style="display:contents"></slot>';
+ shadow("host4").innerHTML = '<slot style="display:contents"></slot>';
+ shadow("host5").innerHTML = 'a <slot style="display:contents"></slot>';
+ shadow("host6").innerHTML = '<z style="color:blue; display:contents"><slot style="display:inline"></slot></z> c';
+ shadow("host7").innerHTML = 'a <slot style="display:contents"></slot> c';
+ shadow("host8").innerHTML = 'a <z style="color:blue; display:contents"><slot style="display:contents"></z></slot>';
+ shadow("host9").innerHTML = '<slot style="display:contents"></slot>';
+ shadow("hostA").innerHTML = 'a <slot style="display:contents"></slot>';
+ shadow("hostB").innerHTML = 'a <slot name="c" style="display:contents"></slot> <slot name="b" style="display:contents"></slot> B';
+ shadow("hostC").innerHTML = 'A <slot name="c" style="display:contents"></slot> <slot name="b" style="display:contents"></slot> B';
+ shadow("hostD").innerHTML = 'A <slot name="c" style="display:contents"></slot> <slot name="b" style="display:contents"></slot> B <slot name="b"></slot>';
+ shadow("hostE").innerHTML = 'A <slot name="c" style="display:contents"></slot> <slot name="b" style="display:contents"></slot> B';
+ shadow("hostF").innerHTML = '<slot name="c" style="display:contents"></slot> <slot name="b" style="display:contents"></slot> B';
+ shadow("hostG").innerHTML = '<slot name="b" style="display:contents"></slot>';
+ shadow("hostH").innerHTML = '<slot name="b" style="display:contents"></slot>';
+ shadow("hostI").innerHTML = 'A<slot name="b" style="display:contents"></slot>';
+ shadow("hostJ").innerHTML = 'A<slot name="b" style="display:contents"></slot>';
+ shadow("hostK").innerHTML = '<slot name="b" style="display:contents"></slot>';
+ shadow("hostL").innerHTML = '<slot name="b" style="display:contents"></slot>';
+ shadow("hostM").innerHTML = '<slot name="b" style="display:contents"></slot><slot name="i" style="display:inline"></slot>';
+ shadow("hostN").innerHTML = '<slot name="b" style="display:contents"></slot><slot name="i" style="display:inline"></slot>';
+ shadow("hostO").innerHTML = '<slot name="b" style="display:contents"></slot><slot name="i" style="display:inline"></slot>';
+ shadow("hostP").innerHTML = '<slot name="b" style="display:contents"></slot><slot name="i" style="display:inline"></slot>';
+ shadow("hostQ").innerHTML = '<slot name="b" style="display:contents"></slot><slot name="i" style="display:inline"></slot>';
+ }
+
+ function tweak() {
+ document.body.offsetHeight;
+
+ host1.appendChild(span("1"));
+ host2.appendChild(text("2"));
+ host3.appendChild(span("3"));
+ host4.appendChild(text("4"));
+
+ var e = span("5");
+ e.style.display = "contents";
+ host5.appendChild(e);
+
+ host6.appendChild(span("6"));
+ host7.appendChild(contents(text("7")));
+ host8.appendChild(contents(span("8")));
+ host9.appendChild(contents(text("9")));
+
+ var e = contents(span("A"));
+ hostA.appendChild(e);
+
+ var e = contents(text("2"), "b");
+ hostB.appendChild(e);
+ var e = contents(text("1"), "c");
+ hostB.appendChild(e);
+
+ var e = contents(text("2"), "b");
+ e.className = "after";
+ hostC.appendChild(e);
+ var e = contents(text("1"), "c");
+ e.className = "before";
+ hostC.appendChild(e);
+
+ var e = contents(text("2"), "b");
+ e.className = "before after";
+ hostD.appendChild(e);
+ var e = contents(text(" 3"), "b");
+ e.className = "before after";
+ hostD.appendChild(e);
+ var e = contents(text("1"), "c");
+ e.className = "before";
+ hostD.appendChild(e);
+
+ var e = contents(contents(text("2")), "b");
+ e.className = "before after";
+ hostE.appendChild(e);
+ var e2 = contents(text("1"), "c");
+ e2.className = "before after";
+ hostE.insertBefore(e2, e);
+
+ var e = contents(text("2"), "b");
+ e.className = "before after";
+ hostF.appendChild(e);
+ var e2 = contents(text("1"), "c");
+ e2.className = "before after";
+ hostF.insertBefore(e2, e);
+
+ var e = contents(contents(text("1")), "b");
+ hostG.appendChild(e);
+ var e = contents(text("2"), "b");
+ e.className = "before after";
+ hostG.appendChild(e);
+
+ var e = contents(contents(text("2")), "b");
+ hostH.appendChild(e);
+ var e2 = contents(text("1"), "b");
+ e2.className = "before after";
+ hostH.insertBefore(e2, e);
+
+ var e = contents(text("b"), "b");
+ hostI.appendChild(e);
+ var e = span("c");
+ e.setAttribute("slot", "b");
+ hostI.appendChild(e);
+
+ var e = contents(contents(text("b")), "b");
+ hostJ.appendChild(e);
+ var e = span("c");
+ e.setAttribute("slot", "b");
+ hostJ.appendChild(e);
+
+ var inner = span("b");
+ inner.className = "after";
+ var e = contents(contents(inner), "b");
+ hostK.appendChild(e);
+ var e = span("d");
+ e.setAttribute("slot", "b");
+ hostK.appendChild(e);
+
+ var inner = contents(null);
+ inner.className = "before";
+ var e = contents(inner, "b");
+ hostL.appendChild(e);
+ var e = span("b");
+ e.setAttribute("slot", "b");
+ hostL.appendChild(e);
+
+ document.body.offsetHeight;
+ setTimeout(function() {
+ shadow("hostS");
+ shadow("hostT");
+ shadow("hostU");
+ shadow("hostV").innerHTML = '<z style="color:green"><slot name="b"></slot></z>';
+
+ document.body.offsetHeight;
+ document.documentElement.removeAttribute("class");
+ },0);
+ }
+
+ run();
+ setTimeout(tweak, 0);
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored-ref.html b/tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored-ref.html
new file mode 100644
index 00000000000..70e2d50cd83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>CSS Reference: quoted font-family names must not be treated as generics</title>
+<link rel="author" title="Jonathan Kew" href="mailto:jfkthame@gmail.com"/>
+<style>
+body { font-size: 36px; }
+.test1 { font-family: serif; }
+.test2 { font-family: sans-serif; }
+.test3 { font-family: monospace; }
+</style>
+<body>
+<p>The following lines should be rendered with the generic font-families as named:</p>
+<div class="test1">serif</div>
+<div class="test2">sans-serif</div>
+<div class="test3">monospace</div>
+<div class="test1">serif</div>
+<div class="test2">sans-serif</div>
+<div class="test3">monospace</div>
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored.html b/tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored.html
new file mode 100644
index 00000000000..4207ad5cf43
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-fonts/quoted-generic-ignored.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>CSS Test: quoted font-family names must not be treated as generics</title>
+<link rel="author" title="Jonathan Kew" href="mailto:jfkthame@gmail.com"/>
+<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-family-prop"/>
+<link rel="match" href="quoted-generic-ignored-ref.html"/>
+<meta name="assert" content="Font family names that happen to be the same as keyword value must be quoted to prevent confusion with the keywords with the same names"/>
+<style>
+body { font-size: 36px; }
+/* Note that this test assumes that the system does not have an actual
+ font named "Fantasy" or "Cursive" installed! */
+.fantasy-test1 { font-family: "fantasy", serif; }
+.fantasy-test2 { font-family: "fantasy", sans-serif; }
+.fantasy-test3 { font-family: "fantasy", monospace; }
+.cursive-test1 { font-family: "cursive", serif; }
+.cursive-test2 { font-family: "cursive", sans-serif; }
+.cursive-test3 { font-family: "cursive", monospace; }
+</style>
+</head>
+<body>
+<p>The following lines should be rendered with the generic font-families as named:</p>
+<div class="fantasy-test1">serif</div>
+<div class="fantasy-test2">sans-serif</div>
+<div class="fantasy-test3">monospace</div>
+<div class="cursive-test1">serif</div>
+<div class="cursive-test2">sans-serif</div>
+<div class="cursive-test3">monospace</div>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/grid-layout-properties.html b/tests/wpt/web-platform-tests/css/css-grid/grid-layout-properties.html
index fcc2ce3b88d..b1b0bd87d49 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/grid-layout-properties.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/grid-layout-properties.html
@@ -142,8 +142,8 @@
initial: 'row',
'row': ['row', 'row'],
'column': ['column', 'column'],
- 'dense': ['dense', 'row dense'],
- 'row dense': ['row dense', 'row dense'],
+ 'dense': ['dense', 'dense'],
+ 'row dense': ['dense', 'dense'],
'column dense': ['column dense', 'column dense'],
'reset': ['row', 'row'],
},
diff --git a/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed.html b/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed.html
index 7484f62ddb6..a91593efc1b 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-computed.html
@@ -13,13 +13,13 @@
<script>
test_computed_value("grid-auto-flow", "row");
test_computed_value("grid-auto-flow", "column");
-test_computed_value("grid-auto-flow", "row dense");
+test_computed_value("grid-auto-flow", "row dense", "dense");
test_computed_value("grid-auto-flow", "column dense");
-test_computed_value("grid-auto-flow", "dense row", "row dense");
+test_computed_value("grid-auto-flow", "dense row", "dense");
test_computed_value("grid-auto-flow", "dense column", "column dense");
-test_computed_value("grid-auto-flow", "dense", "row dense");
+test_computed_value("grid-auto-flow", "dense", "dense");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid.html b/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid.html
index 4270a3df933..7db8b189a28 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-grid/parsing/grid-auto-flow-valid.html
@@ -14,11 +14,11 @@
<script>
test_valid_value("grid-auto-flow", "row");
test_valid_value("grid-auto-flow", "column");
-test_valid_value("grid-auto-flow", "row dense");
+test_valid_value("grid-auto-flow", "row dense", "dense");
+test_valid_value("grid-auto-flow", "dense row", "dense");
+test_valid_value("grid-auto-flow", "dense");
+test_valid_value("grid-auto-flow", "column dense");
test_valid_value("grid-auto-flow", "dense column", "column dense");
-
-// Blink/WebKit "dense", Edge/Firefox "row dense"
-test_valid_value("grid-auto-flow", "dense", ["dense", "row dense"]);
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html b/tests/wpt/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html
new file mode 100644
index 00000000000..0fae6e3f603
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-lists/li-counter-increment-computed-style.html
@@ -0,0 +1,20 @@
+<!doctype html>
+<title>Magic list-item counter-increment shouldn't be visible from computed style</title>
+<link rel="help" href="https://drafts.csswg.org/css-lists/#declaring-a-list-item">
+<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item-counter">
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<link rel="author" href="https://mozilla.org" title="Mozilla">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<li data-expected="none">No explicit counter.
+<li><span style="counter-increment:inherit" data-expected="none">Inherited
+<li value="10" data-expected="none">Value attribute.
+<li style="counter-increment: list-item 10" data-expected="list-item 10">Explicit list-item counter.
+<li style="counter-increment: list-item 1" data-expected="list-item 1">Explicit and redundant list-item counter.
+<li style="counter-increment: foo 10" data-expected="foo 10">Other counter.
+<script>
+test(function() {
+ for (const element of document.querySelectorAll("[data-expected]"))
+ assert_equals(getComputedStyle(element).counterIncrement, element.getAttribute("data-expected"), element.innerText);
+}, "list-item counter-increment shouldn't be visible from computed style");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-lists/list-item-definition-ref.html b/tests/wpt/web-platform-tests/css/css-lists/list-item-definition-ref.html
index 72a4c90f4ad..2d49bc4cb97 100644
--- a/tests/wpt/web-platform-tests/css/css-lists/list-item-definition-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-lists/list-item-definition-ref.html
@@ -8,4 +8,7 @@
<img style="display: list-item" alt="Foo">
<li value="4">Foo
<li>Bar
+ <div style="display: list-item"><div style="display: list-item">Before</div>WithBefore</div>
+ <div style="display: list-item">WithAfter<div style="display: list-item">After</div></div>
+ <li value="10">Baz
</ol>
diff --git a/tests/wpt/web-platform-tests/css/css-lists/list-item-definition.html b/tests/wpt/web-platform-tests/css/css-lists/list-item-definition.html
index edae4b96bd9..14e351f9ecd 100644
--- a/tests/wpt/web-platform-tests/css/css-lists/list-item-definition.html
+++ b/tests/wpt/web-platform-tests/css/css-lists/list-item-definition.html
@@ -1,15 +1,27 @@
<!doctype html>
-<title>The definition of what a list-item is only depends on the display value, and doesn't account for pseudo-elements</title>
+<title>The definition of what a list-item is only depends on the display value</title>
<link rel="help" href="https://drafts.csswg.org/css-lists/#list-item">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1539171">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1543758">
<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
<link rel="author" href="https://mozilla.org" title="Mozilla">
<link rel="match" href="list-item-definition-ref.html">
-<!-- TODO: Test pseudo-elements, see https://github.com/w3c/csswg-drafts/issues/3766 -->
+<style>
+ .before::before, .after::after {
+ display: list-item;
+ content: "Before";
+ }
+ .after::after {
+ content: "After";
+ }
+</style>
<ol>
<svg style="display: list-item"></svg>
<img style="display: list-item">
<img style="display: list-item" alt="Foo">
<div style="display: list-item">Foo</div>
<li>Bar
+ <li class="before">WithBefore
+ <li class="after">WithAfter
+ <li>Baz
</ol>
diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001-ref.html b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001-ref.html
new file mode 100644
index 00000000000..e95210fed25
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001-ref.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="utf-8">
+ <title>CSS Multi-column Layout Test Reference: Test a multi-column container with percentage height children</title>
+ <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+ <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
+
+ <style>
+ article {
+ width: 400px;
+ height: 200px;
+ outline: 1px solid black;
+ }
+ div {
+ height: 25%;
+ }
+ div.spanner {
+ outline: 1px solid blue;
+ height: 50%;
+ }
+ </style>
+
+ <article>
+ <div>block1</div>
+ <div class="spanner">spanner</div>
+ <div>block2</div>
+ </article>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001.html b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001.html
new file mode 100644
index 00000000000..55bdef42788
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-multicol/multicol-span-all-children-height-001.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="utf-8">
+ <title>CSS Multi-column Layout Test: Test a multi-column container with percentage height children</title>
+ <link rel="author" title="Ting-Yu Lin" href="tlin@mozilla.com">
+ <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
+ <link rel="help" href="https://drafts.csswg.org/css-multicol-1/#column-span">
+ <link rel="match" href="multicol-span-all-children-height-001-ref.html">
+ <meta name="assert" content="This test checks the the percentage height children under multicol container is rendered correctly.">
+
+ <style>
+ article {
+ column-count: 2;
+ width: 400px;
+ height: 200px;
+ outline: 1px solid black;
+ }
+ div {
+ height: 50%; /* Spread evenly into two colums, each 25%. */
+ }
+ div.spanner {
+ column-span: all;
+ outline: 1px solid blue;
+ height: 50%;
+ }
+ </style>
+
+ <article>
+ <div>block1</div>
+ <div class="spanner">spanner</div>
+ <div>block2</div>
+ </article>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009-ref.html
new file mode 100644
index 00000000000..a3db09f0781
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009-ref.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+<meta charset="utf-8">
+<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<style>
+html,body {
+ color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
+}
+body { margin-left: 40px; }
+.h m { display:inline-block; width:0; line-height:0; height:0; position:relative; left: -2ch; }
+.v m { writing-mode: vertical-lr; width:0; position:relative; left: -1em; height:0; text-indent:-2ch; }
+.lr { writing-mode: vertical-lr; }
+.big { font-size:xx-large; }
+.big-marker m { font-size:xx-large; }
+li { display: block; }
+</style>
+</head><body>
+<ol class="h">
+ <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
+ <li><div></div><div class="big"><m style="font-size:initial">AB</m>C<br>D</div>
+ </li>
+</ol>
+<ol class="big-marker h">
+ <li><div><m>AB</m>C<br>D</div></li>
+ <li><div></div><div><m>AB</m>C<br>D</div></li>
+</ol>
+<ol class="v">
+ <li><div><m>AB</m>C<br>D</div></li>
+ <li><div></div><div><m>AB</m>C<br>D</div></li>
+ <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
+</ol>
+<ol class="v big-marker">
+ <li><div><m>AB</m>C<br>D</div></li>
+</ol>
+</body></html>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009.html
new file mode 100644
index 00000000000..b3627cca755
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-009.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+<meta charset="utf-8">
+<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<link rel="match" href="marker-content-009-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
+<style>
+html,body {
+ color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
+}
+body { margin-left: 40px; }
+li::marker { content: 'AB'; }
+.v > li::marker { writing-mode: vertical-lr; }
+.lr { writing-mode: vertical-lr; }
+.big { font-size:xx-large; }
+.big-marker > li::marker { font-size:xx-large; }
+f { float: left; margin-right: 20px; }
+</style>
+</head><body>
+<ol>
+ <li><div class="big">C<br>D</div></li>
+ <li><div></div><div class="big">C<br>D</div>
+ </li>
+</ol>
+<ol class="big-marker">
+ <li><div>C<br>D</div></li>
+ <li><div></div><div>C<br>D</div></li>
+</ol>
+<ol class=v>
+ <li><div>C<br>D</div></li>
+ <li><div></div><div>C<br>D</div></li>
+ <li><div class="big">C<br>D</div></li>
+</ol>
+<ol class="v big-marker">
+ <li><div>C<br>D</div></li>
+</ol>
+</body></html>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010-ref.html
new file mode 100644
index 00000000000..5bee9bb1794
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010-ref.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+<meta charset="utf-8">
+<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<style>
+html,body {
+ color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
+}
+body { margin-left: 40px; }
+.h m { display:inline-block; width:0; line-height:0; height:0; position:relative; left: -3ch; }
+.big { font-size:xx-large; }
+.big-marker m { font-size:xx-large; }
+li { display: block; }
+</style>
+</head><body>
+<ol class="h">
+ <li><div class="big"><m style="font-size:initial">1.</m>C<br>D</div></li>
+ <li><div></div><div class="big"><m style="font-size:initial">2.</m>C<br>D</div>
+ </li>
+</ol>
+<ol class="big-marker h">
+ <li><div><m>1.</m>C<br>D</div></li>
+ <li><div></div><div><m>2.</m>C<br>D</div></li>
+</ol>
+</body></html>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010.html
new file mode 100644
index 00000000000..ccd377d523d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-010.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html><head>
+<meta charset="utf-8">
+<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<link rel="match" href="marker-content-010-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
+<style>
+html,body {
+ color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
+}
+body { margin-left: 40px; }
+.big { font-size:xx-large; }
+.big-marker > li::marker { font-size:xx-large; }
+</style>
+</head><body>
+<ol>
+ <li><div class="big">C<br>D</div></li>
+ <li><div></div><div class="big">C<br>D</div>
+ </li>
+</ol>
+<ol class="big-marker">
+ <li><div>C<br>D</div></li>
+ <li><div></div><div>C<br>D</div></li>
+</ol>
+</body></html>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011-ref.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011-ref.html
new file mode 100644
index 00000000000..62a64a1e5e1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011-ref.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html><head>
+<meta charset="utf-8">
+<title>CSS Reference: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<style>
+html,body {
+ color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
+}
+body { margin-left: 40px; }
+.h m { display:inline-block; width:0; line-height:0; height:0; position:relative; left: -3ch; }
+.v m { writing-mode: vertical-lr; width:0; position:relative; left: -2em; height:0; text-indent:-3ch; }
+.lr { writing-mode: vertical-lr; }
+.big { font-size:xx-large; }
+.big-marker m { font-size:xx-large; }
+li { display: block; }
+</style>
+</head><body>
+<ol class="h">
+ <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
+ <li><div></div><div class="big"><m style="font-size:initial">AB</m>C<br>D</div>
+ </li>
+</ol>
+<ol class="big-marker h">
+ <li><div><m>AB</m>C<br>D</div></li>
+ <li><div></div><div><m>AB</m>C<br>D</div></li>
+</ol>
+<ol class="v">
+ <li><div><m>AB</m>C<br>D</div></li>
+ <li><div></div><div><m>AB</m>C<br>D</div></li>
+ <li><div class="big"><m style="font-size:initial">AB</m>C<br>D</div></li>
+</ol>
+<ol class="v big-marker">
+ <li><div><m>AB</m>C<br>D</div></li>
+</ol>
+</body></html>
diff --git a/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011.html b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011.html
new file mode 100644
index 00000000000..0cc20b0cdcd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-pseudo/marker-content-011.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html><head>
+<meta charset="utf-8">
+<title>CSS Test: ::marker pseudo elements styled with 'content' property</title>
+<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
+<link rel="match" href="marker-content-011-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-pseudo-4/#marker-pseudo">
+<style>
+html,body {
+ color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
+}
+body { margin-left: 40px; }
+li::marker { content: 'AB'; margin-bottom: 1ch; margin-right: 1ch; }
+.v > li::marker { writing-mode: vertical-lr; margin-right: 1em; }
+.lr { writing-mode: vertical-lr; }
+.big { font-size:xx-large; }
+.big-marker > li::marker { font-size:xx-large; }
+f { float: left; margin-right: 20px; }
+</style>
+</head><body>
+<ol>
+ <li><div class="big">C<br>D</div></li>
+ <li><div></div><div class="big">C<br>D</div>
+ </li>
+</ol>
+<ol class="big-marker">
+ <li><div>C<br>D</div></li>
+ <li><div></div><div>C<br>D</div></li>
+</ol>
+<ol class=v>
+ <li><div>C<br>D</div></li>
+ <li><div></div><div>C<br>D</div></li>
+ <li><div class="big">C<br>D</div></li>
+</ol>
+<ol class="v big-marker">
+ <li><div>C<br>D</div></li>
+</ol>
+</body></html>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/inheritance.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/inheritance.html
index b380cb400f2..2569cf3d8bf 100644
--- a/tests/wpt/web-platform-tests/css/css-scroll-snap/inheritance.html
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/inheritance.html
@@ -33,7 +33,7 @@ assert_not_inherited('scroll-padding-right', 'auto', '10px');
assert_not_inherited('scroll-padding-top', 'auto', '10px');
assert_not_inherited('scroll-snap-align', 'none', 'start end');
assert_not_inherited('scroll-snap-stop', 'normal', 'always');
-assert_not_inherited('scroll-snap-type', 'none', 'inline proximity');
+assert_not_inherited('scroll-snap-type', 'none', 'inline');
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/parsing/scroll-snap-type-valid.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/parsing/scroll-snap-type-valid.html
index fde2211f925..59a0cb9ab20 100644
--- a/tests/wpt/web-platform-tests/css/css-scroll-snap/parsing/scroll-snap-type-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/parsing/scroll-snap-type-valid.html
@@ -20,7 +20,7 @@ test_valid_value("scroll-snap-type", "inline");
test_valid_value("scroll-snap-type", "both");
test_valid_value("scroll-snap-type", "y mandatory");
-test_valid_value("scroll-snap-type", "inline proximity");
+test_valid_value("scroll-snap-type", "inline proximity", "inline"); // The shortest serialization is preferable
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-padding.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-padding.html
new file mode 100644
index 00000000000..0c637ed6db2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-padding.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#scroll-padding" />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+div {
+ position: absolute;
+ margin: 0px;
+}
+#scroller {
+ height: 500px;
+ width: 500px;
+ overflow: hidden;
+ scroll-snap-type: both mandatory;
+}
+#target {
+ width: 300px;
+ height: 300px;
+ background-color: blue;
+}
+</style>
+
+<div id="scroller">
+ <div style="width: 2000px; height: 2000px;"></div>
+ <div id="target"></div>
+</div>
+
+<script>
+test(() => {
+ scroller.style.scrollPadding = "100px";
+
+ target.style.scrollSnapAlign = "start";
+ target.style.left = "300px";
+ target.style.top = "300px";
+
+ scroller.scrollTo(0, 0);
+ // `target position (300px, 300px)` - `padding (100px, 100px)`.
+ assert_equals(scroller.scrollLeft, 200);
+ assert_equals(scroller.scrollTop, 200);
+
+ target.style.scrollSnapAlign = "end";
+
+ // `target position (300px, 300px)` + `target size (300px, 300px) +
+ // `padding (100px, 100px) - `scroller size (500px, 500px)`.
+ scroller.scrollTo(0, 0);
+ assert_equals(scroller.scrollLeft, 200);
+ assert_equals(scroller.scrollTop, 200);
+}, "Snaps to the positions adjusted by scroll-padding");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html
new file mode 100644
index 00000000000..c2c413d04bd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/scroll-snap-type-on-root-element.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#scroll-snap-type"/>
+<link rel="help" href="https://drafts.csswg.org/css-writing-modes-4/#principal-flow"/>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+html {
+ height: 3000px;
+ scroll-snap-type: inline mandatory;
+}
+#target {
+ position: absolute;
+ background-color: blue;
+ top: 1000px;
+ width: 100%;
+ height: 100px;
+}
+</style>
+<div id="target"></div>
+<script>
+const documentHeight = document.documentElement.clientHeight;
+test(() => {
+ target.style.scrollSnapAlign = "end start";
+
+ window.scrollTo(0, 1000);
+
+ // `target y (1000px)` + `target height (100px)` - document height.
+ assert_equals(document.scrollingElement.scrollTop, 1100 - documentHeight);
+
+ target.style.scrollSnapAlign = "";
+ window.scrollTo(0, 0);
+}, "The scroll-snap-type on the root element is applied");
+
+test(() => {
+ document.body.style.writingMode = "vertical-rl";
+ target.style.scrollSnapAlign = "start end";
+
+ window.scrollTo(0, 1000);
+ // `target y (1000px)` + `target height (100px)` - document height.
+ assert_equals(document.scrollingElement.scrollTop, 1100 - documentHeight);
+}, "The writing-mode on the body is used");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
index fba38cb703b..48bfb51c2d9 100644
--- a/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/scrollTo-scrollBy-snaps.html
@@ -3,7 +3,7 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
-body {
+html {
margin: 0px;
overflow: scroll;
scroll-snap-type: both mandatory;
@@ -23,8 +23,8 @@ div {
.space {
left: 0px;
top: 0px;
- width: 2100px;
- height: 2100px;
+ width: 4000px;
+ height: 4000px;
}
.target {
width: 600px;
@@ -151,9 +151,9 @@ var viewport = document.scrollingElement;
window.scrollTo(0, 0);
assert_equals(window.scrollX, 0);
assert_equals(window.scrollY, 0);
- window.scrollTo(input);
+ window.scrollBy(input);
assert_equals(window.scrollX, expectedX);
assert_equals(window.scrollY, expectedY);
}, `scrollBy(${format_dict(input)}) on window lands on (${expectedX}, ${expectedY})`);
});
-</script> \ No newline at end of file
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-transformed-target.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-transformed-target.html
new file mode 100644
index 00000000000..2a4402579cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-transformed-target.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1" />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+div {
+ position: absolute;
+}
+#scroller {
+ overflow: hidden; /* TODO: Use scrollbar-width: none */
+ scroll-snap-type: x mandatory;
+ width: 500px;
+ height: 500px;
+}
+.space {
+ width: 2000px;
+ height: 2000px;
+}
+#target {
+ height: 200px;
+ width: 200px;
+ left: 50px;
+ background-color: blue;
+}
+</style>
+<div id="scroller">
+ <div class="space"></div>
+ <div id="target"></div>
+</div>
+<script>
+test(() => {
+ target.style.scrollSnapAlign = "start";
+ target.style.transform = "translateX(300px)";
+ scroller.scrollTo(10, 0);
+ assert_equals(scroller.scrollLeft, 350 /* left + translateX(300px) */);
+ assert_equals(scroller.scrollTop, 0);
+}, "Snaps to the transformed snap start position");
+
+test(() => {
+ target.style.scrollSnapAlign = "end";
+ target.style.transform = "translateX(300px)";
+ scroller.scrollTo(10, 0);
+ assert_equals(scroller.scrollLeft,
+ 50 /* left + width + translateX(300px) - scroller.width */);
+ assert_equals(scroller.scrollTop, 0);
+}, "Snaps to the transformed snap end position");
+
+test(() => {
+ target.style.scrollSnapAlign = "start";
+ target.style.transform = "translateX(-100px)";
+ scroller.scrollTo(10, 0);
+ assert_equals(scroller.scrollLeft, 0);
+ assert_equals(scroller.scrollTop, 0);
+}, "Snaps to visible top left position of the transformed box");
+
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas.html
index 82274344526..3e822db02e6 100644
--- a/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas.html
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/snap-to-visible-areas.html
@@ -40,12 +40,20 @@ div {
top: 800px;
}
+#right-bottom {
+ left: 1800px;
+ top: 1800px;
+ scroll-margin-top: 1000px;
+ scroll-margin-left: 1000px;
+}
+
</style>
<div id="scroller">
<div id="space"></div>
<div id="left-top" class="snap"></div>
<div id="right-top" class="snap"></div>
<div id="left-bottom" class="snap"></div>
+ <div id="right-bottom" class="snap"></div>
</div>
<script>
var scroller = document.getElementById("scroller");
@@ -66,4 +74,13 @@ test(() => {
assert_equals(scroller.scrollLeft, 0);
assert_equals(scroller.scrollTop, 800);
}, 'Only snap to visible area on Y axis, even when the non-visible ones are closer');
+
+test(() => {
+ scroller.scrollTo(0, 0);
+ assert_equals(scroller.scrollLeft, 0);
+ assert_equals(scroller.scrollTop, 0);
+ scroller.scrollTo(300, 300);
+ assert_equals(scroller.scrollLeft, 800);
+ assert_equals(scroller.scrollTop, 800);
+}, 'snap to snap area inflated by scroll-margin, even when the non-visible ones are closer');
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-scroll-snap/unreachable-snap-positions.html b/tests/wpt/web-platform-tests/css/css-scroll-snap/unreachable-snap-positions.html
new file mode 100644
index 00000000000..ca4f6033cec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-scroll-snap/unreachable-snap-positions.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-snap-1/#unreachable" />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+div {
+ position: absolute;
+ margin: 0px;
+}
+#scroller {
+ height: 500px;
+ width: 500px;
+ overflow: hidden;
+ scroll-snap-type: both mandatory;
+}
+#unreachable {
+ width: 300px;
+ height: 300px;
+ top: -100px;
+ left: -100px;
+ background-color: blue;
+ scroll-snap-align: start;
+}
+#reachable {
+ width: 300px;
+ height: 300px;
+ top: 400px;
+ left: 400px;
+ background-color: blue;
+ scroll-snap-align: start;
+}
+</style>
+
+<div id="scroller">
+ <div style="width: 2000px; height: 2000px;"></div>
+ <div id="unreachable"></div>
+ <div id="reachable"></div>
+</div>
+
+<script>
+test(() => {
+ // Firstly move to the reachable snap position.
+ scroller.scrollTo(400, 400);
+ assert_equals(scroller.scrollLeft, 400);
+ assert_equals(scroller.scrollTop, 400);
+
+ // Then move to a position between the unreachable snap position and the
+ // reachable position but closer to the unreachable one.
+ scroller.scrollTo(100, 100);
+ assert_equals(scroller.scrollLeft, 0);
+ assert_equals(scroller.scrollTop, 0);
+}, "Snaps to the positions defined by the element as much as possible");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-shadow-parts/multiple-parts.html b/tests/wpt/web-platform-tests/css/css-shadow-parts/multiple-parts.html
new file mode 100644
index 00000000000..de02a26e164
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-shadow-parts/multiple-parts.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS Shadow Parts - Multiple parts</title>
+ <meta href="mailto:fergal@chromium.org" rel="author" title="Fergal Daly">
+ <link href="http://www.google.com/" rel="author" title="Google">
+ <link href="https://drafts.csswg.org/css-shadow-parts/" rel="help">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="support/shadow-helper.js"></script>
+ </head>
+ <body>
+ <style>#c-e::part(partp1 partp2) { color: green; }</style>
+ <script>installCustomElement("custom-element", "custom-element-template");</script>
+ <template id="custom-element-template">
+ <style>
+ .red { color: red; }
+ .blue { color: blue; }
+ </style>
+ <span id="greenpart" class="red" part="partp1 partp2">green</span>
+ <span id="bluepart1" class="blue" part="partp1">blue</span>
+ <span id="bluepart2" class="blue" part="partp2">blue</span>
+ </template>
+ The following text should match its stated colour:
+ <custom-element id="c-e"></custom-element>
+ <script>
+ "use strict";
+ const colorBlue = "rgb(0, 0, 255)";
+ const colorGreen = "rgb(0, 128, 0)";
+ test(function() {
+ const el = getElementByShadowIds(document, ["c-e", "greenpart"]);
+ assert_equals(window.getComputedStyle(el).color, colorGreen);
+ }, "Double-part in selected host is styled");
+ test(function() {
+ const el = getElementByShadowIds(document, ["c-e", "bluepart1"]);
+ assert_equals(window.getComputedStyle(el).color, colorBlue);
+ }, "Single-part-1 in selected host is not styled");
+ test(function() {
+ const el = getElementByShadowIds(document, ["c-e", "bluepart2"]);
+ assert_equals(window.getComputedStyle(el).color, colorBlue);
+ }, "Single-part-2 in selected host is not styled");
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-015.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-015.html
new file mode 100644
index 00000000000..aaa1c2ba87b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-015.html
@@ -0,0 +1,16 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — line breaking at element boundaries</title>
+<meta name=assert content="An empty inline element should not introduce a line-break opportunity">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-015-ref.html">
+<link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
+<style>
+.test { margin: 1em 0; width: 0; line-height: 2; }
+</style>
+<body>
+The word "unbroken" below should <b>not</b> be broken:
+<div class="test">un<span></span>bro<b></b>ken</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-016.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-016.html
new file mode 100644
index 00000000000..c600504b4c2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-016.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — line breaking at element boundaries</title>
+<meta name=assert content="An out-of-flow element should not introduce a line-break opportunity">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-016-ref.html">
+<link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
+<style>
+.test { margin: 1em 0; width: 0; }
+.oof { position: absolute; left: 6em; }
+</style>
+<body>
+The word "unbroken" below should <b>not</b> be broken:
+<div class="test">un<span class="oof"></span>bro<b class="oof">absolute</b>ken</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-017.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-017.html
new file mode 100644
index 00000000000..36af931b1dc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-017.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — line breaking at element boundaries</title>
+<meta name=assert content="An out-of-flow element should not introduce a line-break opportunity">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-017-ref.html">
+<link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
+<style>
+.test { margin: 1em 0; width: 0; }
+.oof { float: left; }
+</style>
+<body>
+The word "unbroken" below should <b>not</b> be broken:
+<div class="test">un<span class="oof"></span>bro<b class="oof">float</b>ken</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-015-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-015-ref.html
new file mode 100644
index 00000000000..2837ce0cd7c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-015-ref.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — reference file for line-breaking test</title>
+<link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
+<style>
+.test { margin: 1em 0; line-height: 2; }
+</style>
+<body>
+The word "unbroken" below should <b>not</b> be broken:
+<div class="test">unbroken</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-016-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-016-ref.html
new file mode 100644
index 00000000000..e4d30e01158
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-016-ref.html
@@ -0,0 +1,14 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — reference file for line-breaking test</title>
+<link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
+<style>
+.test { margin: 1em 0; }
+.oof { position: absolute; left: 6em; }
+</style>
+<body>
+The word "unbroken" below should <b>not</b> be broken:
+<div class="test">unbroken<b class="oof">absolute</b></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-017-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-017-ref.html
new file mode 100644
index 00000000000..6f94b129d29
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-017-ref.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — reference file for line-breaking test</title>
+<link rel=author title="Jonathan Kew" href="jkew@mozilla.com">
+<style>
+.test { margin: 1em 0; }
+</style>
+<body>
+The word "unbroken" below should <b>not</b> be broken:
+<div class="test">unbroken<br><b>float</b></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/text-transform-valid.html b/tests/wpt/web-platform-tests/css/css-text/parsing/text-transform-valid.html
index a40166c37ef..fead45c8b8e 100644
--- a/tests/wpt/web-platform-tests/css/css-text/parsing/text-transform-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-text/parsing/text-transform-valid.html
@@ -22,16 +22,20 @@ test_valid_value("text-transform", "full-size-kana");
test_valid_value("text-transform", "capitalize full-width");
test_valid_value("text-transform", "uppercase full-size-kana");
test_valid_value("text-transform", "full-width full-size-kana");
-test_valid_value("text-transform", "full-width lowercase");
-test_valid_value("text-transform", "full-size-kana capitalize");
-test_valid_value("text-transform", "full-size-kana full-width");
+
+// serialization canonicalizes the order of values: https://drafts.csswg.org/cssom/#serialize-a-css-value
+test_valid_value("text-transform", "full-width lowercase", "lowercase full-width");
+test_valid_value("text-transform", "full-size-kana capitalize", "capitalize full-size-kana");
+test_valid_value("text-transform", "full-size-kana full-width", "full-width full-size-kana");
test_valid_value("text-transform", "capitalize full-width full-size-kana");
-test_valid_value("text-transform", "full-width full-size-kana uppercase");
-test_valid_value("text-transform", "full-size-kana lowercase full-width");
-test_valid_value("text-transform", "lowercase full-size-kana full-width");
-test_valid_value("text-transform", "full-width uppercase full-size-kana");
-test_valid_value("text-transform", "full-size-kana full-width capitalize");
+
+// serialization canonicalizes the order of values
+test_valid_value("text-transform", "full-width full-size-kana uppercase", "uppercase full-width full-size-kana");
+test_valid_value("text-transform", "full-size-kana lowercase full-width", "lowercase full-width full-size-kana");
+test_valid_value("text-transform", "lowercase full-size-kana full-width", "lowercase full-width full-size-kana");
+test_valid_value("text-transform", "full-width uppercase full-size-kana", "uppercase full-width full-size-kana");
+test_valid_value("text-transform", "full-size-kana full-width capitalize", "capitalize full-width full-size-kana");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-multiple-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-multiple-001-ref.html
new file mode 100644
index 00000000000..694ae87877d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/reference/text-transform-multiple-001-ref.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="ja">
+<meta charset=utf-8>
+<title>text-transform with multiple values</title>
+<body style="font-family:serif">
+<h4>Each pair of lines should look identical:</h4>
+<hr>
+<div>HELLO TRANSFORMED WORLD</div>
+<div>HELLO TRANSFORMED WORLD</div>
+<hr>
+<div>hello transformed world</div>
+<div>hello transformed world</div>
+<hr>
+<div>HELLO Transformed World</div>
+<div>HELLO Transformed World</div>
+<hr>
+<div>KATAKANA: アイウエオカクケシスツトヌ</div>
+<div>KATAKANA: アイウエオカクケシスツトヌ</div>
+<hr>
+<div>hiragana: あいうえおかけつやゆよわ</div>
+<div>hiragana: あいうえおかけつやゆよわ</div>
+<hr>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-multiple-001.html b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-multiple-001.html
new file mode 100644
index 00000000000..946aa9c93db
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-transform/text-transform-multiple-001.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<html lang="ja">
+<meta charset=utf-8>
+<title>text-transform with multiple values</title>
+<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
+<link rel=match href="reference/text-transform-multiple-001-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-transform-property">
+<meta name="assert" content="case transforms can be combined with full-width and/or full-size-kana transforms">
+<body style="font-family:serif">
+<h4>Each pair of lines should look identical:</h4>
+<hr>
+<div style="text-transform:uppercase full-width">HELLO Transformed world</div>
+<div>HELLO TRANSFORMED WORLD</div>
+<hr>
+<div style="text-transform:lowercase full-width">HELLO Transformed world</div>
+<div>hello transformed world</div>
+<hr>
+<div style="text-transform:capitalize full-width">HELLO Transformed world</div>
+<div>HELLO Transformed World</div>
+<hr>
+<div style="text-transform:uppercase full-size-kana">Katakana: ァィゥェォヵㇰヶㇱㇲッㇳㇴ</div>
+<div>KATAKANA: アイウエオカクケシスツトヌ</div>
+<hr>
+<div style="text-transform:full-width full-size-kana lowercase">Hiragana: ぁぃぅぇぉゕゖっゃゅょゎ</div>
+<div>hiragana: あいうえおかけつやゆよわ</div>
+<hr>
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html
index 4e6e9efa7e6..9fdcdb6d2d8 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html
@@ -8,7 +8,7 @@
<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all">
<link rel="match" href="reference/white-space-break-spaces-005-ref.html">
<meta name="flags" content="ahem">
-<meta name="assert" content="White spaces are preserved, honoring the 'white-space: break-spaces', which may lead to overfow. However, we can break before the first white-space after the word honoring the 'break-all' value.">
+<meta name="assert" content="White spaces are preserved, honoring the 'white-space: break-spaces', which may lead to overfow. However, we can break before the las letter in the word honoring the 'break-all' value.">
<style>
div {
font: 25px/1 Ahem;
@@ -29,6 +29,6 @@ span { color: green; }
</style>
<body>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
- <div class="fail">XXXX<br><span>X</span>XX<span>X</span><br><span>XXXX</span><br><span>XXXX</span></div>
+ <div class="fail">XXX<span>X</span><br>X<span>X</span>XX<br><span>XXXX</span><br><span>XXXX</span></div>
<div class="test">XXXX XX</div>
</body>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html b/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
index bffc05f205f..98b91e04ee9 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
+++ b/tests/wpt/web-platform-tests/css/css-transitions/Document-getAnimations.tentative.html
@@ -36,47 +36,88 @@ test(t => {
}, 'getAnimations for CSS Transitions');
test(t => {
- addStyle(t, { '.init::after': 'content: ""; width: 0px; ' +
- 'transition: all 100s;',
- '.init::before': 'content: ""; width: 0px; ' +
- 'transition: all 10s;',
- '.change::after': 'width: 100px;',
- '.change::before': 'width: 100px;' });
- // create two divs with these arrangement:
+ // Create two divs with the following arrangement:
+ //
// parent
+ // (::marker,)
// ::before,
// ::after
// |
// child
- const parent = addDiv(t);
+
+ addStyle(t, {
+ '.init::after': 'content: ""; width: 0px; transition: all 100s;',
+ '.init::before': 'content: ""; width: 0px; transition: all 100s;',
+ '.change::after': 'width: 100px;',
+ '.change::before': 'width: 100px;',
+ });
+
+ const supportsMarkerPseudos = CSS.supports('selector(::marker)');
+ if (supportsMarkerPseudos) {
+ addStyle(t, {
+ '.init::marker': 'content: ""; color: red; transition: all 100s;',
+ '.change::marker': 'color: green;',
+ });
+ }
+
+ const parent = addDiv(t, { 'style': 'display: list-item' });
const child = addDiv(t);
parent.appendChild(child);
parent.style.left = '0px';
- parent.style.transition = 'left 10s';
+ parent.style.transition = 'left 100s';
parent.classList.add('init');
child.style.left = '0px';
- child.style.transition = 'left 10s';
+ child.style.transition = 'left 100s';
getComputedStyle(parent).left;
parent.style.left = '100px';
parent.classList.add('change');
child.style.left = '100px';
- const anims = document.getAnimations();
- assert_equals(anims.length, 4,
- 'CSS transition on both pseudo-elements and elements ' +
- 'are returned');
- assert_equals(anims[0].effect.target, parent,
- 'The animation targeting the parent element comes first');
- assert_equals(anims[1].effect.target.type, '::before',
- 'The animation targeting the ::before element comes second');
- assert_equals(anims[2].effect.target.type, '::after',
- 'The animation targeting the ::after element comes third');
- assert_equals(anims[3].effect.target, child,
- 'The animation targeting the child element comes last');
-}, 'CSS Transitions targetting (pseudo-)elements should have correct order ' +
- 'after sorting');
+ const expectedTransitions = [
+ [parent, undefined],
+ [parent, '::marker'],
+ [parent, '::before'],
+ [parent, '::after'],
+ [child, undefined],
+ ];
+ if (!supportsMarkerPseudos) {
+ expectedTransitions.splice(1, 1);
+ }
+
+ const transitions = document.getAnimations();
+ assert_equals(
+ transitions.length,
+ expectedTransitions.length,
+ 'CSS transition on both pseudo-elements and elements are returned'
+ );
+
+ for (const [index, expected] of expectedTransitions.entries()) {
+ const [element, pseudo] = expected;
+ const actual = transitions[index];
+
+ if (pseudo) {
+ assert_equals(
+ actual.effect.target.element,
+ element,
+ `Transition #${index + 1} has expected target`
+ );
+ assert_equals(
+ actual.effect.target.type,
+ pseudo,
+ `Transition #${index + 1} has expected pseudo type`
+ );
+ } else {
+ assert_equals(
+ actual.effect.target,
+ element,
+ `Transition #${index + 1} has expected target`
+ );
+ }
+ }
+}, 'CSS Transitions targetting (pseudo-)elements should have correct order '
+ + 'after sorting');
promise_test(async t => {
const div = addDiv(t, { style: 'left: 0px; transition: all 50ms' });
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/README.md b/tests/wpt/web-platform-tests/css/css-transitions/README.md
index e44decfea26..f11374e47b1 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/README.md
+++ b/tests/wpt/web-platform-tests/css/css-transitions/README.md
@@ -56,7 +56,6 @@ the following suites test behavior that is not covered in CSS3 Transitions (as o
* `properties-value-003.html` - verify transitionable properties thus far not specified at all
* `properties-value-implicit-001.html` - verify behavior for `em` based `<length>` properties when `font-size` is changed
* `events-006.html` - expect `TransitionEnd` event to be triggered and `event.pseudoElement` to be set properly
-* `before-DOMContentLoaded-001.html` - expect transitions to be performed before DOM is ready
* `before-load-001.html` - expect transitions to be performed before document is fully loaded
* `hidden-container-001.html` - expect transitions to NOT be performed if they happen within hidden elements
* `detached-container-001.html` - expect transitions to NOT be performed if they happen outside of the document
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/before-DOMContentLoaded-001.html b/tests/wpt/web-platform-tests/css/css-transitions/before-DOMContentLoaded-001.html
deleted file mode 100644
index 8298e81a23c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-transitions/before-DOMContentLoaded-001.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>CSS Transitions Test: Transitioning before DOMContentLoaded event</title>
- <meta name="assert" content="Test checks that transitions are run even before the document has left parsing mode">
- <link rel="help" title="5. Transition Events" href="http://www.w3.org/TR/css3-transitions/#transition-events">
- <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
- <meta name="flags" content="dom">
-
- <script src="/resources/testharness.js" type="text/javascript"></script>
- <script src="/resources/testharnessreport.js" type="text/javascript"></script>
-
- <script src="./support/vendorPrefix.js" type="text/javascript"></script>
- <script src="./support/helper.js" type="text/javascript"></script>
- <script src="./support/runParallelAsyncHarness.js" type="text/javascript"></script>
- <script src="./support/generalParallelTest.js" type="text/javascript"></script>
- <script src="./support/properties.js" type="text/javascript"></script>
-
- <style type="text/css">
- #offscreen {
- position: absolute;
- top: -100000px;
- left: -100000px;
- width: 100000px;
- height: 100000px;
- }
- </style>
- </head>
- <body>
- <!-- required by testharnessreport.js -->
- <div id="log"></div>
- <!-- elements used for testing -->
- <div id="fixture" class="fixture">
- <div class="container">
- <div class="transition">Text sample</div>
- </div>
- </div>
- <div id="offs-creen"></div>
-
- <!--
- SEE ./support/README.md for an abstract explanation of the test procedure
- http://test.csswg.org/source/contributors/rodneyrehm/submitted/css3-transitions/README.md
- -->
-
- <script>
- // make sure a transition is run between DOMContentLoaded and load
-
- var isDOMContentLoaded = false;
- window.addEventListener('DOMContentLoaded', function() {
- isDOMContentLoaded = true;
- }, false);
-
- // this test takes its time, give it a minute to run
- var timeout = 60000;
- setup({timeout: timeout});
-
- var tests = [
- {
- name: "transition height from 10px to 100px",
- property: 'height',
- flags: {},
- from: {'height': '10px'},
- to: {'height': '100px'}
- }
- ];
-
- // general transition-duration
- var duration = '0.5s';
-
- runParallelAsyncHarness({
- // array of test data
- tests: tests,
- // the number of tests to run in parallel
- testsPerSlice: 1,
- // milliseconds to wait before calling teardown and ending test
- duration: parseFloat(duration) * 1000,
- // prepare individual test
- setup: function(data, options) {
- var styles = {
- '.fixture': {},
-
- '.container': data.parentStyle,
- '.container.to': {},
- '.container.how': {},
-
- '.transition': data.from,
- '.transition.to' : data.to,
- '.transition.how' : {transition: 'all ' + duration + ' linear 0s'}
- };
-
- generalParallelTest.setup(data, options);
- generalParallelTest.addStyles(data, options, styles);
- },
- // cleanup after individual test
- teardown: generalParallelTest.teardown,
- // invoked prior to running a slice of tests
- sliceStart: function(options, tests) {
- // inject styles into document
- setStyle(options.styles);
- },
- // invoked after running a slice of tests
- sliceDone: generalParallelTest.sliceDone,
- // test cases, make them as granular as possible
- cases: {
- // test property values while transitioning
- // values.start kicks off a transition
- 'values': {
- // run actual test, assertions can be used here!
- start: function(test, data, options) {
- // identify initial and target values
- generalParallelTest.getStyle(data);
- // make sure values differ, if they don't, the property could most likely not be parsed
- assert_not_equals(data.transition.from, data.transition.to, "initial and target values may not match");
- // kick off the transition
- generalParallelTest.startTransition(data);
-
- // make sure we didn't get the target value immediately.
- // If we did, there wouldn't be a transition!
- var current = data.transition.computedStyle(data.property);
- assert_not_equals(current, data.transition.to, "must not be target value after start");
- },
- done: function(test, data, options) {
- // make sure the property's value were neither initial nor target while transitioning
- test.step(generalParallelTest.assertIntermediateValuesFunc(data, 'transition'));
- }
- },
- // test TransitionEnd events
- 'events': {
- done: function(test, data, options) {
- // make sure there were no events on parent
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'container', ""));
- // make sure we got the event for the tested property only
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'transition', addVendorPrefix(data.property) + ":" + duration));
-
- test.step(function() {
- assert_false(isDOMContentLoaded, "DOMContentLoaded may not have happened yet")
- });
- }
- }
- },
- // called once all tests are done
- done: generalParallelTest.done
- });
- </script>
- <script src="/delay/?type=js&amp;delay=3000"></script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/before-load-001.html b/tests/wpt/web-platform-tests/css/css-transitions/before-load-001.html
index 47045e88434..009260eea43 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/before-load-001.html
+++ b/tests/wpt/web-platform-tests/css/css-transitions/before-load-001.html
@@ -1,150 +1,46 @@
<!DOCTYPE html>
<html>
- <head>
- <meta charset="utf-8">
- <title>CSS Transitions Test: Transitioning before load event</title>
- <meta name="assert" content="Test checks that transitions are run even before all assets are loaded">
- <link rel="help" title="5. Transition Events" href="http://www.w3.org/TR/css3-transitions/#transition-events">
- <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
- <meta name="flags" content="dom">
-
- <script src="/resources/testharness.js" type="text/javascript"></script>
- <script src="/resources/testharnessreport.js" type="text/javascript"></script>
-
- <script src="./support/vendorPrefix.js" type="text/javascript"></script>
- <script src="./support/helper.js" type="text/javascript"></script>
- <script src="./support/runParallelAsyncHarness.js" type="text/javascript"></script>
- <script src="./support/generalParallelTest.js" type="text/javascript"></script>
- <script src="./support/properties.js" type="text/javascript"></script>
-
- <style type="text/css">
- #offscreen {
- position: absolute;
- top: -100000px;
- left: -100000px;
- width: 100000px;
- height: 100000px;
- }
- </style>
- </head>
- <body>
- <!-- required by testharnessreport.js -->
- <div id="log"></div>
- <!-- elements used for testing -->
- <div id="fixture" class="fixture">
- <div class="container">
- <div class="transition">Text sample</div>
- </div>
- </div>
- <div id="offs-creen"></div>
-
- <!--
- SEE ./support/README.md for an abstract explanation of the test procedure
- http://test.csswg.org/source/contributors/rodneyrehm/submitted/css3-transitions/README.md
- -->
-
- <script>
- // make sure a transition is run between DOMContentLoaded and load
-
- // this test takes its time, give it a minute to run
- var timeout = 60000;
- setup({timeout: timeout});
-
- var isLoad = false;
- window.addEventListener('load', function() {
- isLoad = true;
- }, false);
-
- window.addEventListener('DOMContentLoaded', function() {
- var tests = [
- {
- name: "transition height from 10px to 100px",
- property: 'height',
- flags: {},
- from: {'height': '10px'},
- to: {'height': '100px'}
- }
- ];
-
- // general transition-duration
- var duration = '0.5s';
-
- runParallelAsyncHarness({
- // array of test data
- tests: tests,
- // the number of tests to run in parallel
- testsPerSlice: 1,
- // milliseconds to wait before calling teardown and ending test
- duration: parseFloat(duration) * 1000,
- // prepare individual test
- setup: function(data, options) {
- var styles = {
- '.fixture': {},
-
- '.container': data.parentStyle,
- '.container.to': {},
- '.container.how': {},
-
- '.transition': data.from,
- '.transition.to' : data.to,
- '.transition.how' : {transition: 'all ' + duration + ' linear 0s'}
- };
-
- generalParallelTest.setup(data, options);
- generalParallelTest.addStyles(data, options, styles);
- },
- // cleanup after individual test
- teardown: generalParallelTest.teardown,
- // invoked prior to running a slice of tests
- sliceStart: function(options, tests) {
- // inject styles into document
- setStyle(options.styles);
- },
- // invoked after running a slice of tests
- sliceDone: generalParallelTest.sliceDone,
- // test cases, make them as granular as possible
- cases: {
- // test property values while transitioning
- // values.start kicks off a transition
- 'values': {
- // run actual test, assertions can be used here!
- start: function(test, data, options) {
- // identify initial and target values
- generalParallelTest.getStyle(data);
- // make sure values differ, if they don't, the property could most likely not be parsed
- assert_not_equals(data.transition.from, data.transition.to, "initial and target values may not match");
- // kick off the transition
- generalParallelTest.startTransition(data);
-
- // make sure we didn't get the target value immediately.
- // If we did, there wouldn't be a transition!
- var current = data.transition.computedStyle(data.property);
- assert_not_equals(current, data.transition.to, "must not be target value after start");
- },
- done: function(test, data, options) {
- // make sure the property's value were neither initial nor target while transitioning
- test.step(generalParallelTest.assertIntermediateValuesFunc(data, 'transition'));
- }
- },
- // test TransitionEnd events
- 'events': {
- done: function(test, data, options) {
- // make sure there were no events on parent
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'container', ""));
- // make sure we got the event for the tested property only
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'transition', addVendorPrefix(data.property) + ":" + duration));
-
- test.step(function() {
- assert_false(isLoad, "load may not have happened yet")
- });
- }
- }
- },
- // called once all tests are done
- done: generalParallelTest.done
- });
- }, false);
- </script>
- <img src="/delay/?type=gif&amp;delay=3000" alt="dummy image">
- </body>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions Test: Transitioning before load event</title>
+<meta name="assert" content="Test checks that transitions are run even before the load event fires">
+<!-- NOTE: This test covers unspecified behavior and should probably be
+ removed. It this behavior *were* specified, it would probably be
+ specified here: -->
+<link rel="help" title="5. Transition Events" href="https://drafts.csswg.org/css-transitions/#starting">
+<link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+
+<script>
+// Make sure a transition can run before the load event fires.
+
+let loadEventFired = false;
+window.addEventListener('load', () => {
+ loadEventFired = true;
+}, false);
+
+async_test(t => {
+ const div = addDiv(t, { style: 'transition: height .01s linear; ' +
+ 'height: 1px' });
+ getComputedStyle(div).height;
+ div.style.height = '100px';
+
+ div.addEventListener('transitionrun', t.step_func_done(() => {
+ assert_false(
+ loadEventFired,
+ 'load event should not have fired yet'
+ );
+ document.getElementById('cat').src = '';
+ }));
+});
+</script>
+
+<img src="support/cat.png?pipe=trickle(d100)" id="cat">
+</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-001.html b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-001.html
new file mode 100644
index 00000000000..026b16877c5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-001.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS Transitions Test: behavior when transition-duration changes while transitioning</title>
+<meta name="assert" content="Checks a change to the transition-duration
+property does not affect an in-flight transition">
+<link rel="help" title="3. Starting of transitions" href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+promise_test(async t => {
+ // Start a 100s transition 50% of the way through
+ const div = addDiv(t, {
+ style: 'transition: height 100s -50s linear; height: 0px',
+ });
+ getComputedStyle(div).height;
+ div.style.height = '100px';
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Transition should be initially 50% complete'
+ );
+
+ // Extend the transition-duration to 200s.
+ div.style.transitionDuration = '200s';
+
+ // If the change to the transition-duration was reflected, the
+ // computed height would now be '25px'.
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Even after updating the transition-duration, the transition should be 50% complete'
+ );
+
+ // Wait a frame just to be sure that the changed duration is not later
+ // updated.
+ await waitForFrame();
+
+ assert_greater_than_equal(
+ parseInt(getComputedStyle(div).height),
+ 50,
+ 'Even in the next frame the updated transition-duration should not apply'
+ );
+}, 'Changes to transition-duration should not affect in-flight transitions');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-002.html b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-002.html
new file mode 100644
index 00000000000..363be8a9872
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-002.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS Transitions Test: behavior when transition-timing-function changes while transitioning</title>
+<meta name="assert" content="Checks a change to the transition-timing-function
+property does not affect an in-flight transition">
+<link rel="help" title="3. Starting of transitions" href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+promise_test(async t => {
+ // Start a transition 50% of the way through with a linear timing function
+ const div = addDiv(t, {
+ style: 'transition: height 100s -50s linear; height: 0px',
+ });
+ getComputedStyle(div).height;
+ div.style.height = '100px';
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Transition should be initially 50% complete'
+ );
+
+ // Update the timing function
+ div.style.transitionTimingFunction = 'steps(1, end)';
+
+ // If the change to the transition-timing-function was reflected, the
+ // computed height would now be '0px'.
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Even after updating the transition-timing-function, the transition should be 50% complete'
+ );
+
+ // Wait a frame just to be sure that the changed timing function is not later
+ // updated.
+ await waitForFrame();
+
+ assert_greater_than_equal(
+ parseInt(getComputedStyle(div).height),
+ 50,
+ 'Even in the next frame the updated transition-timing-function should not apply'
+ );
+}, 'Changes to transition-timing-function should not affect in-flight transitions');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-003.html b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-003.html
new file mode 100644
index 00000000000..8c8f4bb50dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition-003.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS Transitions Test: behavior when transition-delay changes while transitioning</title>
+<meta name="assert" content="Checks a change to the transition-delay
+property does not affect an in-flight transition">
+<link rel="help" title="3. Starting of transitions" href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+promise_test(async t => {
+ // Start a 200s transition 50% of the way through
+ const div = addDiv(t, {
+ style: 'transition: height 200s -100s linear; height: 0px',
+ });
+ getComputedStyle(div).height;
+ div.style.height = '100px';
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Transition should be initially 50% complete'
+ );
+
+ // Set the transition-delay to -50s.
+ div.style.transitionDelay = '-50s';
+
+ // If the change to the transition-delay was reflected, the
+ // computed height would now be '25px'.
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Even after updating the transition-delay, the transition should be 50% complete'
+ );
+
+ // Wait a frame just to be sure that the changed delay is not later
+ // updated.
+ await waitForFrame();
+
+ assert_greater_than_equal(
+ parseInt(getComputedStyle(div).height),
+ 50,
+ 'Even in the next frame the updated transition-delay should not apply'
+ );
+}, 'Changes to transition-delay should not affect in-flight transitions');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition.html b/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition.html
deleted file mode 100644
index a7981471a5c..00000000000
--- a/tests/wpt/web-platform-tests/css/css-transitions/changing-while-transition.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>CSS Transitions Test: behavior when transition parameters change while transitioning</title>
- <meta name="assert" content="Test checks that all transitions run properly when property or duration is changed mid-run">
- <link rel="help" title="3. Starting of transitions" href="http://www.w3.org/TR/css3-transitions/#starting">
- <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
- <meta name="flags" content="dom">
-
- <script src="/resources/testharness.js" type="text/javascript"></script>
- <script src="/resources/testharnessreport.js" type="text/javascript"></script>
-
- <script src="./support/vendorPrefix.js" type="text/javascript"></script>
- <script src="./support/helper.js" type="text/javascript"></script>
- <script src="./support/runParallelAsyncHarness.js" type="text/javascript"></script>
- <script src="./support/generalParallelTest.js" type="text/javascript"></script>
-
- <style type="text/css">
- #offscreen {
- position: absolute;
- top: -100000px;
- left: -100000px;
- width: 100000px;
- height: 100000px;
- }
- </style>
- </head>
- <body>
- <!-- required by testharnessreport.js -->
- <div id="log"></div>
- <!-- elements used for testing -->
- <div id="fixture" class="fixture">
- <div class="container">
- <div class="transition">Text sample</div>
- </div>
- </div>
- <div id="offscreen"></div>
-
- <!--
- SEE ./support/README.md for an abstract explanation of the test procedure
- http://test.csswg.org/source/contributors/rodneyrehm/submitted/css3-transitions/README.md
- -->
-
- <script>
- // this test takes its time, give it a minute to run
- var timeout = 60000;
- setup({timeout: timeout});
-
- var tests = [
- {
- name: "changing transition-duration",
- property: 'padding-left',
- transitions: 'padding-left .5s linear 0s',
- from: {'padding-left': '1px'},
- to: {'padding-left': '10px'},
- then: {
- 'transition-duration': '0.1s'
- },
- expect: [
- 'padding-left:0.5s'
- ]
- },
- {
- name: "changing transition-property",
- property: 'padding-left',
- transitions: 'padding-left .5s linear 0s',
- from: {'padding-left': '1px'},
- to: {'padding-left': '10px'},
- then: {
- 'transition-property': 'margin-left'
- },
- expect: [
- ''
- ]
- }
- ];
-
- // general transition-duration
- var duration = '0.5s';
-
- runParallelAsyncHarness({
- // array of test data
- tests: tests,
- // the number of tests to run in parallel
- testsPerSlice: 50,
- // milliseconds to wait before calling teardown and ending test
- duration: parseFloat(duration) * 1000,
- // prepare individual test
- setup: function(data, options) {
- var styles = {
- '.fixture': {},
-
- '.container': {},
- '.container.to': {},
- '.container.how': {},
-
- '.transition': data.from,
- '.transition.to' : data.to,
- '.transition.how' : {transition: data.transitions},
- '.transition.then' : data.then
- };
-
- generalParallelTest.setup(data, options);
- generalParallelTest.addStyles(data, options, styles);
- },
- // cleanup after individual test
- teardown: generalParallelTest.teardown,
- // invoked prior to running a slice of tests
- sliceStart: generalParallelTest.sliceStart,
- // invoked after running a slice of tests
- sliceDone: generalParallelTest.sliceDone,
- // test cases, make them as granular as possible
- cases: {
- // test property values while transitioning
- // values.start kicks off a transition
- 'values': {
- // run actual test, assertions can be used here!
- start: function(test, data, options) {
- // identify initial and target values
- generalParallelTest.getStyle(data);
- // kick off the transition
- generalParallelTest.startTransition(data);
-
- setTimeout(function() {
- data.transition.node.classList.add('then');
-
- for (var property in data.then) {
- var current = data.transition.computedStyle(property);
- assert_equals(current, data.then[property], 'value of ' + property + ' changed');
- }
-
- }, 50);
- },
- done: function(test, data, options) {
- // make sure we got the event for the tested property only
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'transition', data.expect));
- }
- }
- },
- // called once all tests are done
- done: generalParallelTest.done
- });
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/currentcolor-animation-001.html b/tests/wpt/web-platform-tests/css/css-transitions/currentcolor-animation-001.html
index 1ffa1a358ca..bcc7991a828 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/currentcolor-animation-001.html
+++ b/tests/wpt/web-platform-tests/css/css-transitions/currentcolor-animation-001.html
@@ -1,39 +1,52 @@
-<!DOCTYPE HTML>
+<!doctype html>
<html>
<head>
- <title>CSS Variables Allowed Syntax</title>
- <link rel="author" title="L. David Baron" href="https://dbaron.org/">
- <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
- <link rel="help" href="http://www.w3.org/TR/css3-transitions/#animatable-types">
- <!-- also see https://www.w3.org/Bugs/Public/show_bug.cgi?id=14605 -->
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
-<style id="style"></style>
+<meta charset=utf-8>
+<title>CSS Transitions of currentcolor</title>
+<link rel="author" title="L. David Baron" href="https://dbaron.org/">
+<link rel="author" title="Mozilla Corporation" href="https://mozilla.com/">
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#starting">
+<link rel="help" href="https://drafts.csswg.org/css-color/#resolving-color-values">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
</head>
<body>
-<div id=log></div>
+<div id="log"></div>
<div id="test"></div>
<script>
- // Transition does not occur when the value is currentColor and color changes
-test(function() {
- var div = document.getElementById("test");
- var cs = getComputedStyle(div, "");
- div.style.color = "red";
- div.style.backgroundColor = "currentcolor";
- var force_flush = cs.backgroundColor;
- div.style.transition = "background-color linear 50s -10s";
- div.style.color = "blue";
- var quarter_interpolated = cs.backgroundColor;
- div.style.transition = "";
- div.style.backgroundColor = "rgb(204, 0, 51)";
- var quarter_reference = cs.backgroundColor;
- div.style.backgroundColor = "blue";
- var final_reference = cs.backgroundColor;
- assert_true(quarter_interpolated != quarter_reference &&
- quarter_interpolated == final_reference);
- },
- "currentcolortransition");
+test(() => {
+ const div = document.getElementById('test');
+ const cs = getComputedStyle(div, '');
+
+ // Setup before-change style
+ div.style.color = 'red';
+ div.style.backgroundColor = 'currentcolor';
+ cs.backgroundColor; // Flush style
+
+ // Change color -- this should NOT trigger a transition because as per [1]
+ // the computed value of 'currentcolor' for properties other than 'color'
+ // is 'currentcolor' and transitions operate on computed values (not used
+ // values).
+ //
+ // [1] https://drafts.csswg.org/css-color/#resolving-color-values
+ div.style.transition = 'background-color linear 50s -10s';
+ div.style.color = 'blue';
+ const valueAfterUpdatingColor = cs.backgroundColor;
+
+ // Generate some reference values for comparing
+ div.style.transition = '';
+ div.style.backgroundColor = 'rgb(204, 0, 51)';
+ const quarterReference = cs.backgroundColor;
+
+ div.style.backgroundColor = 'blue';
+ const finalReference = cs.backgroundColor;
+
+ assert_true(
+ valueAfterUpdatingColor != quarterReference &&
+ valueAfterUpdatingColor == finalReference
+ );
+}, 'Transition does not occur when the value is currentcolor and color changes');
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/detached-container-001.html b/tests/wpt/web-platform-tests/css/css-transitions/detached-container-001.html
deleted file mode 100644
index 545324b0bd7..00000000000
--- a/tests/wpt/web-platform-tests/css/css-transitions/detached-container-001.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>CSS Transitions Test: Not Transitioning within detached element</title>
- <meta name="assert" content="Test checks that transitions are NOT run within detached elements">
- <link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
- <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
- <meta name="flags" content="dom">
-
- <script src="/resources/testharness.js" type="text/javascript"></script>
- <script src="/resources/testharnessreport.js" type="text/javascript"></script>
-
- <script src="./support/vendorPrefix.js" type="text/javascript"></script>
- <script src="./support/helper.js" type="text/javascript"></script>
- <script src="./support/runParallelAsyncHarness.js" type="text/javascript"></script>
- <script src="./support/generalParallelTest.js" type="text/javascript"></script>
- <script src="./support/properties.js" type="text/javascript"></script>
-
- <style type="text/css">
- #offscreen {
- position: absolute;
- top: -100000px;
- left: -100000px;
- width: 100000px;
- height: 100000px;
- }
- </style>
- </head>
- <body>
- <!-- required by testharnessreport.js -->
- <div id="log"></div>
- <!-- elements used for testing -->
- <div id="fixture" class="fixture">
- <div class="container">
- <div class="transition">Text sample</div>
- </div>
- </div>
- <div id="off-screen"></div>
-
- <!--
- SEE ./support/README.md for an abstract explanation of the test procedure
- http://test.csswg.org/source/contributors/rodneyrehm/submitted/css3-transitions/README.md
- -->
-
- <script>
-
- // this test takes its time, give it a minute to run
- var timeout = 60000;
- setup({timeout: timeout});
-
- var tests = [
- {
- name: "transition within detached container",
- property: 'background-color',
- flags: {},
- from: {'background-color': 'red'},
- to: {'background-color': 'green'}
- }
- ];
-
- // general transition-duration
- var duration = '0.5s';
-
- runParallelAsyncHarness({
- // array of test data
- tests: tests,
- // the number of tests to run in parallel
- testsPerSlice: 1,
- // milliseconds to wait before calling teardown and ending test
- duration: parseFloat(duration) * 1000,
- // prepare individual test
- setup: function(data, options) {
- var styles = {
- '.fixture': {},
-
- '.container': data.parentStyle,
- '.container.to': {},
- '.container.how': {},
-
- '.transition': data.from,
- '.transition.to' : data.to,
- '.transition.how' : {transition: 'all ' + duration + ' linear 0s'}
- };
-
- generalParallelTest.setup(data, options);
- generalParallelTest.addStyles(data, options, styles);
- },
- // cleanup after individual test
- teardown: generalParallelTest.teardown,
- // invoked prior to running a slice of tests
- sliceStart: generalParallelTest.sliceStart,
- // invoked after running a slice of tests
- sliceDone: generalParallelTest.sliceDone,
- // test cases, make them as granular as possible
- cases: {
- // test property values while transitioning
- // values.start kicks off a transition
- 'values': {
- // run actual test, assertions can be used here!
- start: function(test, data, options) {
- // identify initial and target values
- generalParallelTest.getStyle(data);
- // make sure values differ, if they don't, the property could most likely not be parsed
- assert_not_equals(data.transition.from, data.transition.to, "initial and target values may not match");
- // detach transitioning elements
- data.fixture.parentNode.removeChild(data.fixture);
- // kick off the transition
- generalParallelTest.startTransition(data);
- },
- done: function(test, data, options) {
- // make sure there were no intermediate values
- assert_equals(data.transition.values.length, 2, "no intermediate values");
- }
- },
- // test TransitionEnd events
- 'events': {
- done: function(test, data, options) {
- // make sure there were no events on parent
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'container', ""));
- // make sure we got the event for the tested property only
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'transition', ""));
- }
- }
- },
- // called once all tests are done
- done: generalParallelTest.done
- });
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/disconnected-element-001.html b/tests/wpt/web-platform-tests/css/css-transitions/disconnected-element-001.html
new file mode 100644
index 00000000000..b883ce8d18d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/disconnected-element-001.html
@@ -0,0 +1,203 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS Transitions Test: Transitions do not run for a disconnected element</title>
+<meta name="assert" content="If an element is not in the document during that
+style change event or was not in the document during the previous style change
+event, then transitions are not started for that element in that style change
+event.">
+<meta name="assert" content="If an element is no longer in the document,
+implementations must cancel any running transitions on it and remove transitions
+on it from the completed transitions.">
+<link rel="help" title="Starting transitions"
+ href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+promise_test(async t => {
+ // Create element but do not attach it to the document
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+
+ // Resolve before-change style
+ getComputedStyle(div).backgroundColor;
+
+ // Set up after-change style
+ div.style.backgroundColor = 'green';
+
+ assert_equals(
+ getComputedStyle(div).backgroundColor,
+ 'rgb(255, 0, 0)',
+ 'No transition should run'
+ );
+
+ // Wait a frame just to be sure the UA does not start the transition on the
+ // next frame.
+ await waitForFrame();
+
+ assert_equals(
+ getComputedStyle(div).backgroundColor,
+ 'rgb(255, 0, 0)',
+ 'No transition should run even after waiting a frame'
+ );
+}, 'Transitions do not run on an element not in the document');
+
+test(t => {
+ // Create element but do not attach it to the document
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+
+ // Resolve before-change style
+ getComputedStyle(div).backgroundColor;
+
+ // Add to document
+ document.documentElement.append(div);
+
+ // Set up after-change style
+ div.style.backgroundColor = 'green';
+
+ assert_equals(
+ getComputedStyle(div).backgroundColor,
+ 'rgb(0, 128, 0)',
+ 'No transition should run'
+ );
+}, 'Transitions do not run for an element newly added to the document');
+
+promise_test(async t => {
+ // Create element and attach it to the document
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+ document.documentElement.append(div);
+
+ // Attach event listeners
+ div.addEventListener('transitionrun', t.step_func(() => {
+ assert_unreached('transitionrun event should not be fired');
+ }));
+
+ // Resolve before-change style
+ getComputedStyle(div).backgroundColor;
+
+ // Set up after-change style
+ div.style.backgroundColor = 'green';
+
+ // But remove the document before the next style change event
+ div.remove();
+
+ // There should be no events received for the triggered transition.
+ //
+ // (We can't verify the presence/absence of transitions by querying
+ // getComputedStyle for this case because it will return an empty string.)
+ await waitForFrame();
+ await waitForFrame();
+}, 'Transitions do not run for an element newly removed from the document');
+
+promise_test(async t => {
+ // Create element and attach it to the document
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+ document.documentElement.append(div);
+
+ // Attach event listeners
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionrun',
+ 'transitioncancel',
+ ]);
+
+ // Trigger transition
+ getComputedStyle(div).backgroundColor;
+ div.style.backgroundColor = 'green';
+ getComputedStyle(div).backgroundColor;
+
+ await eventWatcher.wait_for('transitionrun');
+
+ // Remove the element from the document
+ div.remove();
+
+ await eventWatcher.wait_for('transitioncancel');
+}, 'Transitions are canceled when an element is removed from the document');
+
+promise_test(async t => {
+ // Create a container element. We'll need this later.
+ const container = addDiv(t);
+ document.documentElement.append(container);
+
+ // Create element and attach it to the document
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+ document.documentElement.append(div);
+
+ // Attach event listeners
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionrun',
+ 'transitioncancel',
+ ]);
+
+ // Trigger transition
+ getComputedStyle(div).backgroundColor;
+ div.style.backgroundColor = 'green';
+ getComputedStyle(div).backgroundColor;
+
+ await eventWatcher.wait_for('transitionrun');
+
+ // Re-parent element
+ container.append(div);
+
+ await eventWatcher.wait_for('transitioncancel');
+ assert_equals(
+ getComputedStyle(div).backgroundColor,
+ 'rgb(0, 128, 0)',
+ 'There should be no transition after re-parenting'
+ );
+}, 'Transitions are canceled when an element is re-parented');
+
+promise_test(async t => {
+ // Create a container element. We'll need this later.
+ const container = addDiv(t);
+ document.documentElement.append(container);
+
+ // Create element and attach it to the document
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+ document.documentElement.append(div);
+
+ // Attach event listeners
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionrun',
+ 'transitioncancel',
+ ]);
+
+ // Trigger transition
+ getComputedStyle(div).backgroundColor;
+ div.style.backgroundColor = 'green';
+ getComputedStyle(div).backgroundColor;
+
+ await eventWatcher.wait_for('transitionrun');
+
+ // Re-parent element to same container
+ document.documentElement.append(div);
+
+ await eventWatcher.wait_for('transitioncancel');
+ assert_equals(
+ getComputedStyle(div).backgroundColor,
+ 'rgb(0, 128, 0)',
+ 'There should be no transition after re-parenting'
+ );
+}, 'Transitions are canceled when an element is re-parented to the same node');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/hidden-container-001.html b/tests/wpt/web-platform-tests/css/css-transitions/hidden-container-001.html
deleted file mode 100644
index 567ae61e328..00000000000
--- a/tests/wpt/web-platform-tests/css/css-transitions/hidden-container-001.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>CSS Transitions Test: Not Transitioning within hidden element</title>
- <meta name="assert" content="Test checks that transitions are NOT run within hidden elements">
- <link rel="help" title="2. Transitions" href="http://www.w3.org/TR/css3-transitions/#transitions">
- <link rel="author" title="Rodney Rehm" href="http://rodneyrehm.de/en/">
- <meta name="flags" content="dom">
-
- <script src="/resources/testharness.js" type="text/javascript"></script>
- <script src="/resources/testharnessreport.js" type="text/javascript"></script>
-
- <script src="./support/vendorPrefix.js" type="text/javascript"></script>
- <script src="./support/helper.js" type="text/javascript"></script>
- <script src="./support/runParallelAsyncHarness.js" type="text/javascript"></script>
- <script src="./support/generalParallelTest.js" type="text/javascript"></script>
- <script src="./support/properties.js" type="text/javascript"></script>
-
- <style type="text/css">
- #offscreen {
- display: none;
- }
- </style>
- </head>
- <body>
- <!-- required by testharnessreport.js -->
- <div id="log"></div>
- <!-- elements used for testing -->
- <div id="fixture" class="fixture">
- <div class="container">
- <div class="transition">Text sample</div>
- </div>
- </div>
- <div id="offscreen"></div>
-
- <!--
- SEE ./support/README.md for an abstract explanation of the test procedure
- http://test.csswg.org/source/contributors/rodneyrehm/submitted/css3-transitions/README.md
- -->
-
- <script>
-
- // this test takes its time, give it a minute to run
- var timeout = 60000;
- setup({timeout: timeout});
-
- var tests = [
- {
- name: "transition within display:none",
- property: 'background-color',
- flags: {},
- from: {'background-color': 'red'},
- to: {'background-color': 'green'}
- }
- ];
-
- // general transition-duration
- var duration = '0.5s';
-
- runParallelAsyncHarness({
- // array of test data
- tests: tests,
- // the number of tests to run in parallel
- testsPerSlice: 1,
- // milliseconds to wait before calling teardown and ending test
- duration: parseFloat(duration) * 1000,
- // prepare individual test
- setup: function(data, options) {
- var styles = {
- '.fixture': {},
-
- '.container': data.parentStyle,
- '.container.to': {},
- '.container.how': {},
-
- '.transition': data.from,
- '.transition.to' : data.to,
- '.transition.how' : {transition: 'all ' + duration + ' linear 0s'}
- };
-
- generalParallelTest.setup(data, options);
- generalParallelTest.addStyles(data, options, styles);
- },
- // cleanup after individual test
- teardown: generalParallelTest.teardown,
- // invoked prior to running a slice of tests
- sliceStart: generalParallelTest.sliceStart,
- // invoked after running a slice of tests
- sliceDone: generalParallelTest.sliceDone,
- // test cases, make them as granular as possible
- cases: {
- // test property values while transitioning
- // values.start kicks off a transition
- 'values': {
- // run actual test, assertions can be used here!
- start: function(test, data, options) {
- // identify initial and target values
- generalParallelTest.getStyle(data);
- // make sure values differ, if they don't, the property could most likely not be parsed
- assert_not_equals(data.transition.from, data.transition.to, "initial and target values may not match");
- // kick off the transition
- generalParallelTest.startTransition(data);
- },
- done: function(test, data, options) {
- // make sure there were no intermediate values
- assert_equals(data.transition.values.length, 2, "no intermediate values");
- }
- },
- // test TransitionEnd events
- 'events': {
- done: function(test, data, options) {
- // make sure there were no events on parent
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'container', ""));
- // make sure we got the event for the tested property only
- test.step(generalParallelTest.assertExpectedEventsFunc(data, 'transition', ""));
- }
- }
- },
- // called once all tests are done
- done: generalParallelTest.done
- });
- </script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-001.html b/tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-001.html
new file mode 100644
index 00000000000..10419b94677
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-001.html
@@ -0,0 +1,127 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS Transitions Test: Transitions do not run for an element that is not being rendered</title>
+<link rel="help" title="Starting transitions"
+ href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+promise_test(async t => {
+ // Create element that is not rendered
+ const div = addDiv(t, {
+ style:
+ 'transition: background-color 100s;' +
+ 'background-color: red;' +
+ 'display: none',
+ });
+
+ // Attach event listeners
+ div.addEventListener(
+ 'transitionrun',
+ t.step_func(() => {
+ assert_unreached('transitionrun event should not be fired');
+ })
+ );
+
+ // Resolve before-change style
+ getComputedStyle(div).backgroundColor;
+
+ // Set up and resolve after-change style
+ div.style.backgroundColor = 'green';
+ getComputedStyle(div).backgroundColor;
+
+ // There should be no events received for the triggered transition.
+ await waitForFrame();
+ await waitForFrame();
+}, 'Transitions do not run on an element not being rendered');
+
+test(t => {
+ // Create element that is not rendered
+ const div = addDiv(t, {
+ style:
+ 'transition: background-color 100s;' +
+ 'background-color: red;' +
+ 'display: none',
+ });
+
+ // Resolve before-change style
+ getComputedStyle(div).backgroundColor;
+
+ // Make it rendered
+ div.style.display = 'block';
+
+ // Set up and resolve after-change style
+ div.style.backgroundColor = 'green';
+ getComputedStyle(div).backgroundColor;
+
+ // We should have jumped immediately to the after-change style rather than
+ // transitioning to it.
+ assert_equals(
+ getComputedStyle(div).backgroundColor,
+ 'rgb(0, 128, 0)',
+ 'No transition should run'
+ );
+}, 'Transitions do not run for an element newly rendered');
+
+promise_test(async t => {
+ // Create element
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+
+ // Attach event listeners
+ div.addEventListener('transitionrun', t.step_func(() => {
+ assert_unreached('transitionrun event should not be fired');
+ }));
+
+ // Resolve before-change style
+ getComputedStyle(div).backgroundColor;
+
+ // Set up after-change style
+ div.style.backgroundColor = 'green';
+
+ // But make the element non-rendered
+ div.style.display = 'none';
+
+ // There should be no events received for the triggered transition.
+ await waitForFrame();
+ await waitForFrame();
+}, 'Transitions do not run for an element newly made not rendered');
+
+promise_test(async t => {
+ // Create element
+ const div = addDiv(t, {
+ style: 'transition: background-color 100s; background-color: red',
+ });
+
+ // Attach event listeners
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionrun',
+ 'transitioncancel',
+ ]);
+
+ // Trigger transition
+ getComputedStyle(div).backgroundColor;
+ div.style.backgroundColor = 'green';
+ getComputedStyle(div).backgroundColor;
+
+ await eventWatcher.wait_for('transitionrun');
+
+ // Make the element no longer rendered
+ div.style.display = 'none';
+
+ await eventWatcher.wait_for('transitioncancel');
+}, 'Transitions are canceled when an element is no longer rendered');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-002.html b/tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-002.html
new file mode 100644
index 00000000000..f26a0489578
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/non-rendered-element-002.html
@@ -0,0 +1,90 @@
+<!doctype html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>CSS Transitions Test: Transitions do not run for a pseudo-element that is not being rendered</title>
+<link rel="help" title="Starting transitions"
+ href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+
+<script>
+
+promise_test(async t => {
+ for (const pseudoType of ['before', 'after']) {
+ const style = addStyle(t, {
+ [`.init::${pseudoType}`]: 'content: ""; width: 0px; transition: width 100s;',
+ [`.change::${pseudoType}`]: 'width: 100px;',
+ [`.cancel::${pseudoType}`]: 'content: none',
+ });
+
+ // Create element (and pseudo-element) and attach event listeners
+ const div = addDiv(t);
+ div.classList.add('init');
+
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionrun',
+ 'transitioncancel',
+ ]);
+
+ // Trigger transition
+ getComputedStyle(div).width;
+ div.classList.add('change');
+ getComputedStyle(div).width;
+
+ await eventWatcher.wait_for('transitionrun');
+
+ // Make the pseudo-element no longer rendered
+ div.classList.add('cancel');
+
+ await eventWatcher.wait_for('transitioncancel');
+
+ div.remove();
+ style.remove();
+ }
+}, 'Transitions on ::before/::after pseudo-elements are canceled when the'
+ + ' content property is cleared');
+
+promise_test(async t => {
+ if (!CSS.supports('selector(::marker)')) {
+ return;
+ }
+
+ addStyle(t, {
+ '.init::marker': 'content: ""; color: red; transition: color 100s;',
+ '.change::marker': 'color: green',
+ });
+
+ // Create element (and pseudo-element) and attach event listeners
+ const div = addDiv(t, { 'style': 'display: list-item' });
+ div.classList.add('init');
+
+ const eventWatcher = new EventWatcher(t, div, [
+ 'transitionrun',
+ 'transitioncancel',
+ ]);
+
+ // Trigger transition
+ getComputedStyle(div).color;
+ div.classList.add('change');
+ getComputedStyle(div).color;
+
+ await eventWatcher.wait_for('transitionrun');
+
+ // Make the parent element no longer display: list-item so that the pseudo
+ // element no longer renders
+ div.style.display = 'block';
+
+ await eventWatcher.wait_for('transitioncancel');
+}, 'Transitions on ::marker pseudo-elements are canceled when the'
+ + ' parent display type is no longer list-item');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/starting-of-transitions-001.html b/tests/wpt/web-platform-tests/css/css-transitions/starting-of-transitions-001.html
new file mode 100644
index 00000000000..f80d8134366
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-transitions/starting-of-transitions-001.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions Test: behavior when transition-property changes while transitioning</title>
+<meta name="assert" content="Checks a change to the transition-duration
+property does not affect an in-flight transition">
+<link rel="help" title="3. Starting of transitions" href="https://drafts.csswg.org/css-transitions/#starting">
+
+<script src="/resources/testharness.js" type="text/javascript"></script>
+<script src="/resources/testharnessreport.js" type="text/javascript"></script>
+<script src="./support/helper.js" type="text/javascript"></script>
+
+</head>
+<body>
+<div id="log"></div>
+<script>
+test(t => {
+ // Start a 100s transition 50% of the way through
+ const div = addDiv(t, {
+ style: 'transition: height 100s -50s linear; height: 0px',
+ });
+ getComputedStyle(div).height;
+ div.style.height = '100px';
+ assert_equals(
+ getComputedStyle(div).height,
+ '50px',
+ 'Transition should be initially 50% complete'
+ );
+
+ // Change the transition-property and flush the style change
+ div.style.transitionProperty = 'width';
+ getComputedStyle(div).transitionProperty;
+
+ // The transition on the height property should have been canceled
+ assert_equals(
+ getComputedStyle(div).height,
+ '100px',
+ 'Transition should have been canceled'
+ );
+}, 'changes to transition-property should cancel in-flight transitions');
+</script>
+
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js b/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js
index aa3efe80122..d5fa61b15ef 100644
--- a/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js
+++ b/tests/wpt/web-platform-tests/css/css-transitions/support/helper.js
@@ -231,6 +231,7 @@ root.addStyle = (t, rules) => {
extraStyle.remove();
});
}
+ return extraStyle;
};
/**
diff --git a/tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback-ref.html b/tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback-ref.html
new file mode 100644
index 00000000000..1b4e3b3b6d9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback-ref.html
@@ -0,0 +1,14 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<style>
+ #outer {
+ border: 10px solid transparent;
+ }
+
+ #inner {
+ border: 10px solid;
+ }
+</style>
+<div id="outer"><div id="inner"></div></div>
diff --git a/tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback.html b/tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback.html
new file mode 100644
index 00000000000..bb27a61e610
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-variables/wide-keyword-fallback.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<title>CSS Test: Wide keyword can be used as a fallback variable value</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-variables/#substitute-a-var">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1544886">
+<link rel="match" href="wide-keyword-fallback-ref.html">
+<style>
+ /* Should see a 10px border of the initial color */
+ #outer {
+ color: transparent;
+ border: 10px solid;
+ }
+
+ #inner {
+ color: var(--unknown, initial);
+ border-width: 10px;
+ border-style: var(--unknown, inherit);
+ }
+</style>
+<div id="outer"><div id="inner"></div></div>
diff --git a/tests/wpt/web-platform-tests/css/cssom-view/matchMedia-display-none-iframe.html b/tests/wpt/web-platform-tests/css/cssom-view/matchMedia-display-none-iframe.html
new file mode 100644
index 00000000000..08fcb3c5386
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom-view/matchMedia-display-none-iframe.html
@@ -0,0 +1,19 @@
+<!doctype html>
+<title>CSS Test: matchMedia works on display: none iframes</title>
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-window-matchmedia">
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+ function frameLoaded(frame) {
+ test(function() {
+ assert_true(frame.contentWindow.matchMedia("all").matches);
+ }, "matchMedia should work in display: none iframes");
+ test(function() {
+ assert_true(frame.contentWindow.matchMedia("(min-width: 0)").matches);
+ assert_true(!frame.contentWindow.matchMedia("(min-width: 1px)").matches);
+ }, "matchMedia should assume a 0x0 viewport in display: none iframes");
+ }
+</script>
+<iframe style="display: none" onload="frameLoaded(this)"></iframe>
diff --git a/tests/wpt/web-platform-tests/css/cssom-view/outer-svg.html b/tests/wpt/web-platform-tests/css/cssom-view/outer-svg.html
new file mode 100644
index 00000000000..3b062c7548f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom-view/outer-svg.html
@@ -0,0 +1,35 @@
+<!doctype html>
+<title>CSS Tests: client* and scroll* APIs work as expected with outer SVG elements</title>
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#extension-to-the-element-interface">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=874811">
+<link rel="author" title="violet" href="mailto:violet.bugreport@gmail.com">
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+#u {
+ padding: 30px;
+ transform: translate(50px,60px) scale(2,3);
+ border: 5px solid lime;
+ width: 50px;
+ height: 100px;
+}
+</style>
+<div style="width: 100px; height: 2000px; border: 1px solid blue"></div>
+<svg id="u"></svg>
+<script>
+let u = document.getElementById("u");
+test(function() {
+ assert_equals(u.clientTop, 5, "u.clientTop");
+ assert_equals(u.clientLeft, 5, "u.clientLeft");
+ assert_equals(u.clientWidth, 110, "u.clientWidth");
+ assert_equals(u.clientHeight, 160, "u.clientHeight");
+}, "clientWidth, clientHeight, clientTop and clientLeft work on outer svg element");
+test(function() {
+ assert_equals(u.scrollTop, 0, "u.scrollTop");
+ assert_equals(u.scrollLeft, 0, "u.scrollLeft");
+ assert_equals(u.scrollWidth, 110, "u.scrollWidth");
+ assert_equals(u.scrollHeight, 160, "u.scrollHeight");
+}, "scrollWidth, scrollHeight, scrollTop and scrollLeft work on outer svg element");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom-view/resize-event-on-initial-layout.html b/tests/wpt/web-platform-tests/css/cssom-view/resize-event-on-initial-layout.html
new file mode 100644
index 00000000000..dc2f04bcced
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom-view/resize-event-on-initial-layout.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<meta name="viewport" content="width=device-width">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#run-the-resize-steps"/>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script>
+promise_test(async t => {
+ let gotResizeEvent = false;
+
+ on_event(window, 'resize', () => gotResizeEvent = true);
+
+ await new Promise(resolve => requestAnimationFrame(resolve));
+ await new Promise(resolve => requestAnimationFrame(resolve));
+
+ assert_false(gotResizeEvent, 'resize event should not be fired');
+}, 'resize events are not fired on the initial layout');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.tentative.html
new file mode 100644
index 00000000000..877356f924d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-001.tentative.html
@@ -0,0 +1,45 @@
+<!doctype html>
+<title>&lt;link disabled&gt;, HTMLLinkElement.disabled and CSSStyleSheet.disabled interactions</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link title="alt" rel="stylesheet" disabled href="data:text/css,html { background: green }">
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+const link = document.querySelector("link[disabled]");
+
+test(function() {
+ assert_equals(document.styleSheets.length, 0);
+ assert_applies(false);
+}, "<link disabled> prevents the stylesheet from being in document.styleSheets (from parser)");
+
+async_test(function(t) {
+ assert_true(link.disabled);
+
+ link.onload = t.step_func_done(function() {
+ assert_equals(document.styleSheets.length, 1);
+ let sheet = document.styleSheets[0];
+ assert_equals(sheet.ownerNode, link);
+ assert_applies(true);
+
+ link.disabled = true;
+ assert_equals(sheet.ownerNode, null);
+ assert_false(sheet.disabled);
+ assert_applies(false);
+ assert_true(link.hasAttribute("disabled"));
+
+ assert_equals(document.styleSheets.length, 0);
+ assert_applies(false);
+ });
+
+ link.disabled = false;
+ assert_true(!link.hasAttribute("disabled"));
+ assert_false(link.disabled);
+}, "HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.tentative.html
new file mode 100644
index 00000000000..9c46f60a621
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-002.tentative.html
@@ -0,0 +1,38 @@
+<!doctype html>
+<title>&lt;link disabled&gt;, HTMLLinkElement.disabled and CSSStyleSheet.disabled interactions (alternate)</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link title="alt" rel="alternate stylesheet" disabled href="data:text/css,html { background: green }">
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+const link = document.querySelector("link[disabled]");
+
+async_test(function(t) {
+ assert_true(link.disabled);
+
+ link.onload = t.step_func_done(function() {
+ assert_equals(document.styleSheets.length, 1);
+ let sheet = document.styleSheets[0];
+ assert_equals(sheet.ownerNode, link);
+ assert_applies(true);
+
+ link.disabled = true;
+ assert_equals(sheet.ownerNode, null);
+ assert_false(sheet.disabled);
+ assert_applies(false);
+ assert_true(link.hasAttribute("disabled"));
+ assert_equals(document.styleSheets.length, 0);
+ });
+
+ link.disabled = false;
+ assert_true(!link.hasAttribute("disabled"));
+ assert_false(link.disabled);
+}, "HTMLLinkElement.disabled reflects the <link disabled> attribute, and behaves consistently, when the sheet is an alternate");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.tentative.html
new file mode 100644
index 00000000000..fc86e6ba1f0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-003.tentative.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<title>&lt;link disabled&gt;'s "explicitly enabled" state persists after getting disconnected from the tree</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link title="alt" rel="alternate stylesheet" disabled href="data:text/css,html { background: green }">
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+const link = document.querySelector("link[disabled]");
+async_test(function(t) {
+ assert_true(link.disabled);
+ link.disabled = false;
+ assert_false(link.disabled);
+ assert_true(!link.hasAttribute("disabled"));
+ link.remove();
+
+ link.onload = t.step_func_done(function() {
+ assert_equals(document.styleSheets.length, 1);
+ let sheet = document.styleSheets[0];
+ assert_equals(sheet.ownerNode, link);
+ assert_applies(true);
+ });
+
+ document.head.appendChild(link);
+}, "HTMLLinkElement.disabled's explicitly enabled state persists when disconnected and connected again");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.tentative.html
new file mode 100644
index 00000000000..7e6c34ee40d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-004.tentative.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<title>&lt;link disabled&gt;'s "explicitly enabled" state doesn't persist for clones</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link title="alt" rel="alternate stylesheet" disabled href="data:text/css,html { background: green }">
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+const link = document.querySelector("link[disabled]");
+
+async_test(function(t) {
+ link.remove();
+ link.disabled = false; // `link` is explicitly enabled.
+
+ let clonesLoaded = 0;
+
+ for (let shallow of [true, false]) {
+ const clone = link.cloneNode(shallow);
+ clone.onload = t.step_func(function() {
+ assert_false(link.disabled);
+ // Even though it's not disabled, it still doesn't apply, since it's an alternate.
+ assert_applies(false);
+ if (++clonesLoaded == 2) {
+ link.onload = t.step_func_done(function() {
+ assert_false(link.disabled);
+ assert_applies(true); // `link` is still explicitly enabled.
+ });
+ document.head.appendChild(link);
+ }
+ });
+ document.head.appendChild(clone);
+ }
+}, "HTMLLinkElement.disabled's explicitly enabled state doesn't persist on clones");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.tentative.html
new file mode 100644
index 00000000000..0233f8c746e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-005.tentative.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<title>&lt;link disabled&gt;'s "explicitly enabled" persists across rel changes</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link title="alt" rel="yadayada" disabled href="data:text/css,html { background: green }">
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+const link = document.querySelector("link[disabled]");
+
+async_test(function(t) {
+ link.onload = t.step_func_done(function() {
+ assert_applies(true);
+ link.setAttribute("rel", "alternate stylesheet");
+ assert_applies(true);
+ assert_false(link.disabled);
+ });
+ link.disabled = false;
+ link.setAttribute("rel", "stylesheet");
+}, "HTMLLinkElement.disabled's explicitly enabled state persists regardless of rel");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.tentative.html
new file mode 100644
index 00000000000..5828e1ce142
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-006.tentative.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<title>&lt;link disabled&gt;'s "explicitly enabled" state isn't magically set from the setter</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+async_test(function(t) {
+ const link = document.createElement("link");
+ link.setAttribute("rel", "alternate stylesheet");
+ link.setAttribute("title", "alt");
+ link.href = "data:text/css,html { background: green }";
+ link.disabled = false; // This should do nothing, and is the point of this test.
+ link.onload = t.step_func_done(function() {
+ assert_applies(false); // Should not apply, since it's an alternate that hasn't been enabled.
+ assert_false(link.disabled);
+ });
+ document.head.appendChild(link);
+}, "HTMLLinkElement.disabled setter does nothing if the attribute isn't present already.");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.tentative.html
new file mode 100644
index 00000000000..451fc3d591f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-007.tentative.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<title>&lt;link disabled&gt;'s "explicitly enabled" state works when set explicitly back and forth</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+function assert_applies(applies) {
+ (applies ? assert_equals : assert_not_equals)(getComputedStyle(document.documentElement).backgroundColor, "rgb(0, 128, 0)");
+}
+
+async_test(function(t) {
+ const link = document.createElement("link");
+ link.setAttribute("rel", "alternate stylesheet");
+ link.setAttribute("title", "alt");
+ link.href = "data:text/css,html { background: green }";
+ link.disabled = true;
+ link.disabled = false; // This should make it "explicitly enabled".
+ link.onload = t.step_func_done(function() {
+ assert_applies(true); // Should apply, since it's explicitly enabled.
+ assert_false(link.disabled);
+ });
+ document.head.appendChild(link);
+}, "HTMLLinkElement.disabled setter sets the explicitly enabled state if toggled back and forth.");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-ref.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-ref.html
new file mode 100644
index 00000000000..5d87bfdaf5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<title>CSS Test Reference</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<style>
+ html { background: green }
+</style>
diff --git a/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html
new file mode 100644
index 00000000000..5b020a172b1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/cssom/HTMLLinkElement-disabled-alternate.tentative.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<title>CSS Test: alternate stylesheets can be disabled by HTMLLinkElement.disabled if they have the disabled attribute already</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1281135">
+<link rel="help" href="https://github.com/whatwg/html/issues/3840">
+<link rel="match" href="HTMLLinkElement-disabled-alternate-ref.html">
+<link title="alt" rel="alternate stylesheet" href="data:text/css,html { background: green }" disabled onload="document.documentElement.className = ''">
+<script>
+ onload = function() {
+ const link = document.querySelector("link[rel='alternate stylesheet']");
+ link.disabled = false;
+ }
+</script>
diff --git a/tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use-ref.html b/tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use-ref.html
new file mode 100644
index 00000000000..703cc99bb86
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use-ref.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<title>CSS Test reference</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<svg width="200" height="100">
+ <defs>
+ <g id="p0">
+ <rect width="100" height="100" style="fill: blue" />
+ <rect x="100" y="0" width="100" height="100" style="fill: purple" />
+ </g>
+ </defs>
+ <use href="#p0" x="0" y="0" />
+</svg>
diff --git a/tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use.html b/tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use.html
new file mode 100644
index 00000000000..08a038ca8b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/sharing-in-svg-use.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<title>CSS Test: nth-of-type should work in an svg use subtree</title>
+<link rel="help" href="https://drafts.csswg.org/selectors-4/#child-index">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1540385">
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="match" href="sharing-in-svg-use-ref.html">
+<style>
+rect:nth-of-type(1) {
+ fill: blue;
+}
+rect:nth-of-type(2) {
+ fill: purple;
+}
+</style>
+<!-- Should see two different colors -->
+<svg width="200" height="100">
+ <defs>
+ <g id="p0">
+ <rect width="100" height="100" />
+ <rect x="100" y="0" width="100" height="100" />
+ </g>
+ </defs>
+ <use href="#p0" x="0" y="0" />
+</svg>
diff --git a/tests/wpt/web-platform-tests/editing/data/removeformat.js b/tests/wpt/web-platform-tests/editing/data/removeformat.js
index cfc355d8854..db5c0550833 100644
--- a/tests/wpt/web-platform-tests/editing/data/removeformat.js
+++ b/tests/wpt/web-platform-tests/editing/data/removeformat.js
@@ -75,6 +75,26 @@ var browserTests = [
"[foobarbaz]",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"removeformat":[false,false,"",false,false,""]}],
+["[foo<span style=\"display: none\">bar</span>baz]",
+ [["stylewithcss","true"],["removeformat",""]],
+ "[foobarbaz]",
+ [true,true],
+ {"stylewithcss":[false,false,"",false,true,""],"removeformat":[false,false,"",false,false,""]}],
+["[foo<span style=\"display: none\">bar</span>baz]",
+ [["stylewithcss","false"],["removeformat",""]],
+ "[foobarbaz]",
+ [true,true],
+ {"stylewithcss":[false,true,"",false,false,""],"removeformat":[false,false,"",false,false,""]}],
+["[foo<span style=\"display: none; font-weight: bold\">bar</span>baz]",
+ [["stylewithcss","true"],["removeformat",""]],
+ "[foobarbaz]",
+ [true,true],
+ {"stylewithcss":[false,false,"",false,true,""],"removeformat":[false,false,"",false,false,""]}],
+["[foo<span style=\"display: none; font-weight: bold\">bar</span>baz]",
+ [["stylewithcss","false"],["removeformat",""]],
+ "[foobarbaz]",
+ [true,true],
+ {"stylewithcss":[false,true,"",false,false,""],"removeformat":[false,false,"",false,false,""]}],
["foo<span style=\"font-weight: bold\">b[a]r</span>baz",
[["stylewithcss","true"],["removeformat",""]],
"foo<span style=\"font-weight:bold\">b</span>[a]<span style=\"font-weight:bold\">r</span>baz",
@@ -85,6 +105,26 @@ var browserTests = [
"foo<span style=\"font-weight:bold\">b</span>[a]<span style=\"font-weight:bold\">r</span>baz",
[true,true],
{"stylewithcss":[false,true,"",false,false,""],"removeformat":[false,false,"",false,false,""]}],
+["foo<span style=\"display: none\">b[a]r</span>baz",
+ [["stylewithcss","true"],["removeformat",""]],
+ "foo<span style=\"display:none\">b</span>[a]<span style=\"display:none\">r</span>baz",
+ [true,true],
+ {"stylewithcss":[false,false,"",false,true,""],"removeformat":[false,false,"",false,false,""]}],
+["foo<span style=\"display: none\">b[a]r</span>baz",
+ [["stylewithcss","false"],["removeformat",""]],
+ "foo<span style=\"display:none\">b</span>[a]<span style=\"display:none\">r</span>baz",
+ [true,true],
+ {"stylewithcss":[false,true,"",false,false,""],"removeformat":[false,false,"",false,false,""]}],
+["foo<span style=\"display: none; font-weight: bold\">b[a]r</span>baz",
+ [["stylewithcss","true"],["removeformat",""]],
+ "foo<span style=\"display:none; font-weight:bold\">b</span>[a]<span style=\"display:none; font-weight:bold\">r</span>baz",
+ [true,true],
+ {"stylewithcss":[false,false,"",false,true,""],"removeformat":[false,false,"",false,false,""]}],
+["foo<span style=\"display: none; font-weight: bold\">b[a]r</span>baz",
+ [["stylewithcss","false"],["removeformat",""]],
+ "foo<span style=\"display:none; font-weight:bold\">b</span>[a]<span style=\"display:none; font-weight:bold\">r</span>baz",
+ [true,true],
+ {"stylewithcss":[false,true,"",false,false,""],"removeformat":[false,false,"",false,false,""]}],
["[foo<span style=\"font-variant: small-caps\">bar</span>baz]",
[["stylewithcss","true"],["removeformat",""]],
"[foobarbaz]",
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
new file mode 100644
index 00000000000..1fa6dd41a95
--- /dev/null
+++ b/tests/wpt/web-platform-tests/element-timing/observe-shadow-image.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML>
+<meta charset=utf-8>
+<title>Element Timing: observe image in shadow tree</title>
+<style>
+body {
+ margin: 0;
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/element-timing-helpers.js"></script>
+<div id='target'></div>
+<script>
+ let beforeRender;
+ async_test(function (t) {
+ const observer = new PerformanceObserver(
+ t.step_func_done(function(entryList) {
+ assert_equals(entryList.getEntries().length, 1);
+ const entry = entryList.getEntries()[0];
+ const pathname = window.location.origin + '/element-timing/resources/square100.png';
+ checkElement(entry, pathname, 'my_image', 'my_id', beforeRender);
+ // Assume viewport has size at least 100, so the element is fully visible.
+ checkRect(entry, [0, 100, 0, 100]);
+ checkNaturalSize(entry, 100, 100);
+ })
+ );
+ observer.observe({entryTypes: ['element']});
+ // We add the image during onload to be sure that the observer is registered
+ // in time for it to observe the element timing.
+ window.onload = () => {
+ // Add image of width equal to 100 and height equal to 100.
+ const img = document.createElement('img');
+ img.src = 'resources/square100.png';
+ img.setAttribute('elementtiming', 'my_image');
+ img.setAttribute('id', 'my_id');
+ const shadowRoot = document.getElementById('target').attachShadow({mode: 'closed'});
+ shadowRoot.appendChild(img);
+ beforeRender = performance.now();
+ };
+ }, 'Image in shadow tree with elementtiming attribute is observable.');
+</script>
diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html
index 6844226f2bd..bdef39cde8c 100644
--- a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html
+++ b/tests/wpt/web-platform-tests/feature-policy/reporting/xr-report-only.https.html
@@ -23,9 +23,9 @@ promise_test(async t => {
{types: ['feature-policy-violation']}).observe();
});
try {
- await navigator.xr.supportsSessionMode('inline');
+ await navigator.xr.supportsSession('inline');
} catch (err) {
- // If no XR devices are available, supportsSessionMode() will reject with a
+ // If no XR devices are available, supportsSession() will reject with a
// NotSupportedError, but the report should be generated anyway.
assert_equals(err.name, 'NotSupportedError');
}
diff --git a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-reporting.https.html b/tests/wpt/web-platform-tests/feature-policy/reporting/xr-reporting.https.html
index 1982ea544c5..3ce61cd13ac 100644
--- a/tests/wpt/web-platform-tests/feature-policy/reporting/xr-reporting.https.html
+++ b/tests/wpt/web-platform-tests/feature-policy/reporting/xr-reporting.https.html
@@ -22,7 +22,7 @@ promise_test(async (t) => {
new ReportingObserver((reports, observer) => resolve([reports, observer]),
{types: ['feature-policy-violation']}).observe();
});
- await promise_rejects(t, 'SecurityError', navigator.xr.supportsSessionMode('inline'),
+ await promise_rejects(t, 'SecurityError', navigator.xr.supportsSession('inline'),
"XR device access should not be allowed in this document.");
const [reports, observer] = await report;
check_report_format(reports, observer);
diff --git a/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html b/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html
index b9fc1af2f3b..d4d51a55741 100644
--- a/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html
+++ b/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html
@@ -8,12 +8,10 @@
// These tests reuse the `referrer-policy` infrastructure to load images that
// encode their request headers in their pixels. Fun stuff!
promise_test(() =>
- loadImageInWindow(
- "https://{{host}}:{{ports[https][0]}}/common/security-features/subresource/image.py",
- [],
- window)
- .then(img => {
- headers = decodeImageData(extractImageData(img)).headers;
+ requestViaImage(
+ "https://{{host}}:{{ports[https][0]}}/common/security-features/subresource/image.py")
+ .then(result => {
+ headers = result.headers;
got = {
"dest": headers["sec-fetch-dest"],
"mode": headers["sec-fetch-mode"],
@@ -32,12 +30,10 @@
"Same-origin image");
promise_test(() =>
- loadImageInWindow(
- "https://{{hosts[][www]}}:{{ports[https][0]}}/common/security-features/subresource/image.py",
- [],
- window)
- .then(img => {
- headers = decodeImageData(extractImageData(img)).headers;
+ requestViaImage(
+ "https://{{hosts[][www]}}:{{ports[https][0]}}/common/security-features/subresource/image.py")
+ .then(result => {
+ headers = result.headers;
got = {
"dest": headers["sec-fetch-dest"],
"mode": headers["sec-fetch-mode"],
@@ -56,12 +52,10 @@
"Same-site image");
promise_test(() =>
- loadImageInWindow(
- "https://{{hosts[alt][www]}}:{{ports[https][0]}}/common/security-features/subresource/image.py",
- [],
- window)
- .then(img => {
- headers = decodeImageData(extractImageData(img)).headers;
+ requestViaImage(
+ "https://{{hosts[alt][www]}}:{{ports[https][0]}}/common/security-features/subresource/image.py")
+ .then(result => {
+ headers = result.headers;
got = {
"dest": headers["sec-fetch-dest"],
"mode": headers["sec-fetch-mode"],
diff --git a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/fetch-sw.https.tentative.html b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/fetch-sw.https.tentative.html
index 2286739ecf2..f6ece2cfe3e 100644
--- a/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/fetch-sw.https.tentative.html
+++ b/tests/wpt/web-platform-tests/fetch/stale-while-revalidate/fetch-sw.https.tentative.html
@@ -16,18 +16,24 @@ https://github.com/whatwg/fetch/pull/853
<script>
// Duplicating this resource to make service worker scoping simpler.
- async function setupRegistration(t, scope) {
+ async function setupRegistrationAndWaitToBeControlled(t, scope) {
+ const controlled = new Promise((resolve) => {
+ navigator.serviceWorker.oncontrollerchange = () => { resolve(); };
+ });
const reg = await navigator.serviceWorker.register('sw-intercept.js');
await wait_for_state(t, reg.installing, 'activated');
+ await controlled;
add_completion_callback(_ => reg.unregister());
return reg;
}
- function wait25ms(test) {
+ // Using 250ms polling interval to provide enough 'network calmness' to give
+ // the background low priority revalidation request a chance to kick in.
+ function wait250ms(test) {
return new Promise(resolve => {
test.step_timeout(() => {
resolve();
- }, 25);
+ }, 250);
});
}
@@ -35,7 +41,7 @@ https://github.com/whatwg/fetch/pull/853
var request_token = token();
const uri = 'stale-script.py?token=' + request_token;
- await setupRegistration(test, 'stale-script.py');
+ await setupRegistrationAndWaitToBeControlled(test, 'stale-script.py');
var service_worker_count = 0;
navigator.serviceWorker.addEventListener('message', function once(event) {
@@ -54,7 +60,7 @@ https://github.com/whatwg/fetch/pull/853
assert_equals(service_worker_count, 2);
break;
}
- await wait25ms(test);
+ await wait250ms(test);
}
}, 'Second fetch returns same response');
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html b/tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html
new file mode 100644
index 00000000000..b75f7ff7a64
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<meta charset=utf-8>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="/common/get-host-info.sub.js"></script>
+
+<script>
+
+const CHANNEL_NAME = "new_window_same_site";
+
+async_test(t => {
+ let w = window.open(`${get_host_info().HTTP_REMOTE_ORIGIN}/html/cross-origin-opener/resources/window.sub.html?channel=${CHANNEL_NAME}`, "window_name", "height=200,width=250");
+
+ // w will be closed by its postback iframe. When out of process,
+ // window.close() does not work.
+ t.add_cleanup(() => w.close());
+
+ let bc = new BroadcastChannel(CHANNEL_NAME);
+ bc.onmessage = t.step_func_done((event) => {
+ let payload = event.data;
+ assert_equals(payload.name, "window_name");
+ assert_equals(payload.opener, true);
+ });
+}, "same-site policy works");
+
+</script>
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html.headers b/tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html.headers
new file mode 100644
index 00000000000..34bd099a302
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/cross-origin-opener/new_window_same_site.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/postback.sub.html b/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/postback.sub.html
new file mode 100644
index 00000000000..ee08bab4d55
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/postback.sub.html
@@ -0,0 +1,13 @@
+<!doctype html>
+<meta charset=utf-8>
+
+<script>
+
+let channelName = new URL(location).searchParams.get("channel");
+let bc = new BroadcastChannel(channelName);
+window.addEventListener("message", (event) => {
+ bc.postMessage(event.data);
+ window.parent.close();
+}, false);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html b/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html
new file mode 100644
index 00000000000..7c72f87c3dd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html
@@ -0,0 +1,18 @@
+<!doctype html>
+<meta charset=utf-8>
+
+<script src="/common/get-host-info.sub.js"></script>
+<div id="status"> </div>
+
+<script type="text/javascript">
+
+ let iframe = document.createElement("iframe");
+ iframe.onload = () => {
+ let payload = { name: self.name, opener: !!self.opener };
+ iframe.contentWindow.postMessage(payload, "*");
+ };
+ let channelName = new URL(location).searchParams.get("channel");
+ iframe.src = `${get_host_info().HTTP_ORIGIN}/html/cross-origin-opener/resources/postback.sub.html?channel=${channelName}`;
+ document.body.appendChild(iframe);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html.headers b/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html.headers
new file mode 100644
index 00000000000..34bd099a302
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/cross-origin-opener/resources/window.sub.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-site
diff --git a/tests/wpt/web-platform-tests/html/interaction/focus/focus-file-input.html b/tests/wpt/web-platform-tests/html/interaction/focus/focus-file-input.html
new file mode 100644
index 00000000000..d3007112ffb
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/interaction/focus/focus-file-input.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>HTML Test: file input can be programatically focused before layout</title>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#focus">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=505355">
+<link rel="author" title="Mozilla" href="https://mozilla.org/">
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<input type="file">
+<script>
+test(function() {
+ let input = document.querySelector("input");
+ assert_not_equals(document.activeElement, input);
+ input.focus();
+ assert_equals(document.activeElement, input);
+});
+</script>
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
new file mode 100644
index 00000000000..debe014170d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
+<title>Canvas test: security.pattern.canvas.fillStyle.cross</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/media.js"></script>
+<script src="/common/namespaces.js"></script>
+<script src="/common/canvas-tests.js"></script>
+
+<body>
+<p class="desc">Setting fillStyle to a pattern of an unclean canvas makes the canvas origin-unclean</p>
+
+<script>
+
+forEachCanvasSource("http://{{domains[www1]}}:{{ports[http][0]}}",
+ "http://{{domains[]}}:{{ports[http][0]}}",
+ (name, factory) => {
+ promise_test(_ => {
+ return factory().then(source => {
+ const canvas = document.createElement('canvas');
+ const ctx = canvas.getContext('2d');
+ 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); });
+ });
+ }, `${name}: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean`);
+});
+
+</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html
index e76f5f6ea70..c8ba83bb988 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-start-end-extra.html
@@ -16,9 +16,9 @@
assert_equals(el.selectionEnd, 0);
el.defaultValue = "123";
assert_equals(el.value.length, 3);
- assert_equals(el.selectionStart, 3);
- assert_equals(el.selectionEnd, 3);
- }, "Setting defaultValue in a textarea should move the cursor to the end");
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
+ }, "Setting defaultValue in a textarea should NOT move the cursor to the end");
test(function() {
var el = document.createElement("textarea");
@@ -34,34 +34,34 @@
test(function() {
var el = document.createElement("textarea");
el.appendChild(document.createTextNode("abcdef"));
- assert_equals(el.selectionStart, 6);
- assert_equals(el.selectionEnd, 6);
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
el.textContent = "abcdef123456";
- assert_equals(el.selectionStart, 12);
- assert_equals(el.selectionEnd, 12);
- }, "Setting textContent in a textarea should move selection{Start,End} to the end");
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
+ }, "Setting textContent in a textarea should NOT move selection{Start,End} to the end");
test(function() {
var el = document.createElement("textarea");
el.appendChild(document.createTextNode("abcdef"));
- assert_equals(el.selectionStart, 6);
- assert_equals(el.selectionEnd, 6);
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
el.appendChild(document.createTextNode("123456"));
- assert_equals(el.selectionStart, 12);
- assert_equals(el.selectionEnd, 12);
- }, "Adding children to a textarea should move selection{Start,End} to the end");
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
+ }, "Adding children to a textarea should NOT move selection{Start,End} to the end");
test(function() {
var el = document.createElement("textarea");
el.appendChild(document.createTextNode("abcdef"));
el.appendChild(document.createTextNode("123"));
- assert_equals(el.selectionStart, 9);
- assert_equals(el.selectionEnd, 9);
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
el.removeChild(el.firstChild);
- assert_equals(el.selectionStart, 3);
- assert_equals(el.selectionEnd, 3);
- }, "Removing children from a textarea should update selection{Start,End}");
+ assert_equals(el.selectionStart, 0);
+ assert_equals(el.selectionEnd, 0);
+ }, "Removing children from a textarea should NOT update selection{Start,End}");
test(function() {
var el = document.createElement("textarea");
@@ -104,8 +104,8 @@
var el = document.createElement("textarea");
el.defaultValue = "123";
assert_equals(el.value.length, 3);
- assert_equals(el.selectionStart, 3);
- assert_equals(el.selectionEnd, 3);
+ el.selectionStart = 3;
+ el.selectionEnd = 3;
el.value = "12";
assert_equals(el.value.length, 2);
assert_equals(el.selectionStart, 2);
diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/unclosed-svg-script.html b/tests/wpt/web-platform-tests/html/syntax/parsing/unclosed-svg-script.html
index 80f662a3f78..e4048615072 100644
--- a/tests/wpt/web-platform-tests/html/syntax/parsing/unclosed-svg-script.html
+++ b/tests/wpt/web-platform-tests/html/syntax/parsing/unclosed-svg-script.html
@@ -7,6 +7,7 @@
var scriptWithEndTagRan = false;
var scriptWithoutEndTagRan = false;
var scriptWithBogusEndTagInsideRan = false;
+ var scriptWithBreakout = false;
</script>
<svg>
<script>scriptWithEndTagRan = true;</script>
@@ -17,6 +18,10 @@
<svg>
<script>scriptWithBogusEndTagInsideRan = true;</g></script>
</svg>
+<svg>
+ <script>scriptWithBreakout = true;<s></script>
+</svg>
+</s>
<script>
test(function() {
assert_true(scriptWithEndTagRan);
@@ -27,4 +32,7 @@
test(function() {
assert_true(scriptWithBogusEndTagInsideRan);
}, "SVG scripts with bogus end tag inside should run");
+ test(function() {
+ assert_false(scriptWithBreakout);
+ }, "SVG scripts ended by HTML breakout should not run");
</script>
diff --git a/tests/wpt/web-platform-tests/intersection-observer/resources/scaled-target-subframe.html b/tests/wpt/web-platform-tests/intersection-observer/resources/scaled-target-subframe.html
new file mode 100644
index 00000000000..8f6f930e009
--- /dev/null
+++ b/tests/wpt/web-platform-tests/intersection-observer/resources/scaled-target-subframe.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<style>
+html, body {
+ margin: 0;
+}
+#target {
+ width: 100px;
+ height: 100px;
+}
+</style>
+
+<div id="target">target</div>
+
+<script>
+var delay = 100;
+var results = [];
+
+function waitForNotification(f) {
+ setTimeout(() => {
+ requestAnimationFrame(function () {
+ requestAnimationFrame(function () {
+ setTimeout(f)
+ })
+ })
+ }, delay)
+}
+
+window.addEventListener("message", event => {
+ waitForNotification(() => {
+ window.parent.postMessage(results.map(e => e.isVisible), "*");
+ results = [];
+ });
+});
+
+onload = () => {
+ var target = document.getElementById("target");
+ var observer = new IntersectionObserver(entries => {
+ results = entries;
+ }, {trackVisibility: true, delay: delay});
+ observer.observe(document.getElementById("target"));
+ window.parent.postMessage("", "*");
+};
+</script>
diff --git a/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-effects.sub.html b/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-effects.sub.html
index edb8f023c09..04b88b404ec 100644
--- a/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-effects.sub.html
+++ b/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-effects.sub.html
@@ -51,7 +51,7 @@ async_test(function(t) {
window.addEventListener("message", event => {
if (steps.length) {
- t.step_func(steps.shift(), event);
+ t.step(steps.shift(), t, event);
waitForFrame(t, () => {
iframe.contentWindow.postMessage("", "*")
});
diff --git a/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-occlusion.sub.html b/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-occlusion.sub.html
index 6f9fa57fb71..b8bbcae3ea8 100644
--- a/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-occlusion.sub.html
+++ b/tests/wpt/web-platform-tests/intersection-observer/v2/cross-origin-occlusion.sub.html
@@ -55,7 +55,7 @@ async_test(function(t) {
window.addEventListener("message", event => {
if (steps.length) {
- t.step_func(steps.shift(), event);
+ t.step(steps.shift(), t, event);
waitForFrame(t, () => {
iframe.contentWindow.postMessage("", "*");
});
diff --git a/tests/wpt/web-platform-tests/intersection-observer/v2/scaled-target.html b/tests/wpt/web-platform-tests/intersection-observer/v2/scaled-target.html
new file mode 100644
index 00000000000..f48f0792d0f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/intersection-observer/v2/scaled-target.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/intersection-observer-test-utils.js"></script>
+
+<style>
+pre, #log {
+ position: absolute;
+ top: 0;
+ left: 200px;
+}
+#iframe {
+ width: 100px;
+ height: 100px;
+ border: 0;
+ margin-bottom: 10px;
+}
+#occluder {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ position: relative;
+}
+</style>
+
+<iframe id="iframe" src="../resources/scaled-target-subframe.html"></iframe>
+<div id="occluder"></div>
+
+<script>
+async_test(function(t) {
+ let iframe = document.getElementById("iframe");
+
+ function step0(event) {
+ assert_equals(event.data, "");
+ }
+
+ function step1(event) {
+ iframe.style.transform = "scale(2)";
+ assert_equals(JSON.stringify(event.data),
+ JSON.stringify([true]));
+ }
+
+ function step2(event) {
+ assert_equals(JSON.stringify(event.data),
+ JSON.stringify([false]));
+ }
+
+ let steps = [step0, step1, step2];
+
+ window.addEventListener("message", event => {
+ if (steps.length) {
+ t.step(steps.shift(), t, event);
+ waitForFrame(t, () => {
+ iframe.contentWindow.postMessage("", "*")
+ });
+ } else {
+ t.done();
+ }
+ });
+
+}, "IntersectionObserver V2 test with scale applied to target.");
+</script>
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index 27f70db20fe..0ec256a7525 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -142,6 +142,7 @@ SET TIMEOUT: cookies/resources/testharness-helpers.js
SET TIMEOUT: common/reftest-wait.js
SET TIMEOUT: conformance-checkers/*
SET TIMEOUT: content-security-policy/*
+SET TIMEOUT: css/css-display/display-contents-shadow-dom-1.html
SET TIMEOUT: css/selectors/selector-placeholder-shown-type-change-001.html
SET TIMEOUT: css/selectors/selector-placeholder-shown-type-change-002.html
SET TIMEOUT: css/selectors/selector-placeholder-shown-type-change-003.html
@@ -175,7 +176,7 @@ SET TIMEOUT: html/webappapis/scripting/events/event-handler-processing-algorithm
SET TIMEOUT: html/webappapis/scripting/processing-model-2/*
SET TIMEOUT: IndexedDB/*
SET TIMEOUT: infrastructure/*
-SET TIMEOUT: intersection-observer/resources/v2-subframe.html
+SET TIMEOUT: intersection-observer/resources/*
SET TIMEOUT: intersection-observer/target-in-different-window.html
SET TIMEOUT: media-source/mediasource-util.js
SET TIMEOUT: media-source/URL-createObjectURL-revoke.html
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js b/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js
index 6837258c622..221210814c5 100644
--- a/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js
+++ b/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js
@@ -22,6 +22,17 @@ function getSubresourceOrigin(originType) {
const wsPort = getNormalizedPort(parseInt("{{ports[ws][0]}}", 10));
const wssPort = getNormalizedPort(parseInt("{{ports[wss][0]}}", 10));
+ /**
+ @typedef OriginType
+ @type {string}
+
+ Represents the origin of the subresource request URL.
+ The keys of `originMap` below are the valid values.
+
+ Note that there can be redirects from the specified origin
+ (see RedirectionType), and thus the origin of the subresource
+ response URL might be different from what is specified by OriginType.
+ */
const originMap = {
"same-https": httpsProtocol + "://" + sameOriginHost + httpsPort,
"same-http": httpProtocol + "://" + sameOriginHost + httpPort,
@@ -63,7 +74,6 @@ function MixedContentTestCase(scenario, description, sanityChecker) {
const urls = getRequestURLs(scenario.subresource,
originTypeConversion[scenario.origin],
scenario.redirection);
- const invoker = subresourceMap[scenario.subresource].invoker;
const checkResult = _ => {
// Send request to check if the key has been torn down.
return xhrRequest(urls.assertUrl)
@@ -76,11 +86,18 @@ function MixedContentTestCase(scenario, description, sanityChecker) {
};
function runTest() {
+ /** @type {Subresource} */
+ const subresource = {
+ subresourceType: scenario.subresource,
+ url: urls.testUrl,
+ policyDeliveries: []
+ };
+
promise_test(() => {
return xhrRequest(urls.announceUrl)
// Send out the real resource request.
// This should tear down the key if it's not blocked.
- .then(_ => invoker(urls.testUrl))
+ .then(_ => invokeRequest(subresource, []))
// We check the key state, regardless of whether the main request
// succeeded or failed.
.then(checkResult, checkResult);
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/template/test.debug.html.template b/tests/wpt/web-platform-tests/mixed-content/generic/template/test.debug.html.template
deleted file mode 100644
index 77f62ef1da3..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/template/test.debug.html.template
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-%(generated_disclaimer)s
-<html>
- <head>
- <title>Mixed-Content: %(spec_title)s</title>
- <meta charset='utf-8'>
- <meta name="description" content="%(spec_description)s">
- <meta name="assert" content="%(test_description)s">%(meta_opt_in)s
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <!-- Common global functions for mixed-content tests. -->
- <script src="/common/security-features/resources/common.js"></script>
- <!-- The original specification JSON for validating the scenario. -->
- <script src="/mixed-content/spec_json.js"></script>
- <!-- Internal checking of the tests -->
- <script src="/mixed-content/generic/sanity-checker.js"></script>
- <!-- Simple wrapper API for all mixed-content test cases. -->
- <script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
- </head>
- <body>
- <h1>%(spec_title)s</h1>
- <h2>%(spec_description)s</h2>
- <pre>%(test_description)s</pre>
-
- <p>See <a href="%(spec_specification_url)s" target="_blank">specification</a>
- details for this test.</p>
-
- <div id="log"></div>
- <script>%(test_js)s</script>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/template/test.js.template b/tests/wpt/web-platform-tests/mixed-content/generic/template/test.js.template
deleted file mode 100644
index b8c0769fcfd..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/template/test.js.template
+++ /dev/null
@@ -1,13 +0,0 @@
-MixedContentTestCase(
- {
- "opt_in_method": "%(opt_in_method)s",
- "origin": "%(origin)s",
- "source_scheme": "%(source_scheme)s",
- "context_nesting": "%(context_nesting)s",
- "redirection": "%(redirection)s",
- "subresource": "%(subresource)s",
- "expectation": "%(expectation)s"
- },
- document.querySelector("meta[name=assert]").content,
- new SanityChecker()
-).start();
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/template/test_description.template b/tests/wpt/web-platform-tests/mixed-content/generic/template/test_description.template
deleted file mode 100644
index 33dbcaa05dd..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/template/test_description.template
+++ /dev/null
@@ -1,7 +0,0 @@
-opt_in_method: %(opt_in_method)s
-origin: %(origin)s
-source_scheme: %(source_scheme)s
-context_nesting: %(context_nesting)s
-redirection: %(redirection)s
-subresource: %(subresource)s
-expectation: %(expectation)s
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/tools/common_paths.py b/tests/wpt/web-platform-tests/mixed-content/generic/tools/common_paths.py
deleted file mode 100644
index 5475cb6969d..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/tools/common_paths.py
+++ /dev/null
@@ -1,61 +0,0 @@
-from __future__ import print_function
-
-import os, sys, json, re
-
-script_directory = os.path.dirname(os.path.abspath(__file__))
-generic_directory = os.path.abspath(os.path.join(script_directory, '..'))
-
-template_directory = os.path.abspath(os.path.join(script_directory,
- '..',
- 'template'))
-spec_directory = os.path.abspath(os.path.join(script_directory, '..', '..'))
-test_root_directory = os.path.abspath(os.path.join(script_directory,
- '..', '..', '..'))
-
-spec_filename = os.path.join(spec_directory, "spec.src.json")
-generated_spec_json_filename = os.path.join(spec_directory, "spec_json.js")
-
-selection_pattern = '%(subresource)s/' + \
- '%(opt_in_method)s/' + \
- '%(origin)s/' + \
- '%(context_nesting)s/' + \
- '%(redirection)s/'
-
-test_file_path_pattern = selection_pattern + \
- '%(spec_name)s/' + \
- '%(name)s.%(source_scheme)s.html'
-
-
-def get_template(basename):
- with open(os.path.join(template_directory, basename), "r") as f:
- return f.read()
-
-
-def write_file(filename, contents):
- with open(filename, "w") as f:
- f.write(contents)
-
-
-def read_nth_line(fp, line_number):
- fp.seek(0)
- for i, line in enumerate(fp):
- if (i + 1) == line_number:
- return line
-
-
-def load_spec_json(path_to_spec = None):
- if path_to_spec is None:
- path_to_spec = spec_filename
-
- re_error_location = re.compile('line ([0-9]+) column ([0-9]+)')
- with open(path_to_spec, "r") as f:
- try:
- return json.load(f)
- except ValueError as ex:
- print(ex.message)
- match = re_error_location.search(ex.message)
- if match:
- line_number, column = int(match.group(1)), int(match.group(2))
- print(read_nth_line(f, line_number).rstrip())
- print(" " * (column - 1) + "^")
- sys.exit(1)
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/tools/generate.py b/tests/wpt/web-platform-tests/mixed-content/generic/tools/generate.py
index 1e0a404a709..fe4305c4eea 100755
--- a/tests/wpt/web-platform-tests/mixed-content/generic/tools/generate.py
+++ b/tests/wpt/web-platform-tests/mixed-content/generic/tools/generate.py
@@ -1,174 +1,65 @@
#!/usr/bin/env python
-from __future__ import print_function
-
-import copy
-import os, sys, json
-from common_paths import *
-import spec_validator
-import argparse
-
-
-def expand_pattern(expansion_pattern, test_expansion_schema):
- expansion = {}
- for artifact_key in expansion_pattern:
- artifact_value = expansion_pattern[artifact_key]
- if artifact_value == '*':
- expansion[artifact_key] = test_expansion_schema[artifact_key]
- elif isinstance(artifact_value, list):
- expansion[artifact_key] = artifact_value
- elif isinstance(artifact_value, dict):
- # Flattened expansion.
- expansion[artifact_key] = []
- values_dict = expand_pattern(artifact_value,
- test_expansion_schema[artifact_key])
- for sub_key in values_dict.keys():
- expansion[artifact_key] += values_dict[sub_key]
- else:
- expansion[artifact_key] = [artifact_value]
-
- return expansion
-
-
-def permute_expansion(expansion, artifact_order, selection = {}, artifact_index = 0):
- assert isinstance(artifact_order, list), "artifact_order should be a list"
-
- if artifact_index >= len(artifact_order):
- yield selection
- return
-
- artifact_key = artifact_order[artifact_index]
-
- for artifact_value in expansion[artifact_key]:
- selection[artifact_key] = artifact_value
- for next_selection in permute_expansion(expansion,
- artifact_order,
- selection,
- artifact_index + 1):
- yield next_selection
-
-
-def generate_selection(selection, spec, test_html_template_basename):
- selection['spec_name'] = spec['name']
- selection['spec_title'] = spec['title']
- selection['spec_description'] = spec['description']
- selection['spec_specification_url'] = spec['specification_url']
-
- test_filename = test_file_path_pattern % selection
- test_headers_filename = test_filename + ".headers"
- test_directory = os.path.dirname(test_filename)
- full_path = os.path.join(spec_directory, test_directory)
-
- test_html_template = get_template(test_html_template_basename)
- test_js_template = get_template("test.js.template")
- disclaimer_template = get_template('disclaimer.template')
- test_description_template = get_template("test_description.template")
-
- html_template_filename = os.path.join(template_directory,
- test_html_template_basename)
- generated_disclaimer = disclaimer_template \
- % {'generating_script_filename': os.path.relpath(__file__,
- test_root_directory),
- 'html_template_filename': os.path.relpath(html_template_filename,
- test_root_directory)}
-
- # Adjust the template for the test invoking JS. Indent it to look nice.
- selection['generated_disclaimer'] = generated_disclaimer.rstrip()
- test_description_template = \
- test_description_template.rstrip().replace("\n", "\n" + " " * 33)
- selection['test_description'] = test_description_template % selection
-
- # Adjust the template for the test invoking JS. Indent it to look nice.
- indent = "\n" + " " * 6;
- test_js_template = indent + test_js_template.replace("\n", indent);
- selection['test_js'] = test_js_template % selection
-
- # Directory for the test files.
- try:
- os.makedirs(full_path)
- except:
- pass
+import os
+import sys
- # TODO(kristijanburnik): Implement the opt-in-method here.
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..', '..', 'common', 'security-features', 'tools'))
+import generate
+
+
+class MixedContentConfig(object):
+ def __init__(self):
+ self.selection_pattern = '%(subresource)s/' + \
+ '%(opt_in_method)s/' + \
+ '%(origin)s/' + \
+ '%(context_nesting)s/' + \
+ '%(redirection)s/'
+
+ self.test_file_path_pattern = self.selection_pattern + \
+ '%(spec_name)s/' + \
+ '%(name)s.%(source_scheme)s.html'
+
+ self.test_description_template = '''opt_in_method: %(opt_in_method)s
+origin: %(origin)s
+source_scheme: %(source_scheme)s
+context_nesting: %(context_nesting)s
+redirection: %(redirection)s
+subresource: %(subresource)s
+expectation: %(expectation)s
+'''
+
+ self.test_page_title_template = 'Mixed-Content: %s'
+
+ self.helper_js = '/mixed-content/generic/mixed-content-test-case.js?pipe=sub'
+
+ # For debug target only.
+ self.sanity_checker_js = '/mixed-content/generic/sanity-checker.js'
+ self.spec_json_js = '/mixed-content/spec_json.js'
+
+ self.test_case_name = 'MixedContentTestCase'
+
+ script_directory = os.path.dirname(os.path.abspath(__file__))
+ self.spec_directory = os.path.abspath(os.path.join(script_directory, '..', '..'))
+
+ def handleDelivery(self, selection, spec):
opt_in_method = selection['opt_in_method']
- selection['meta_opt_in'] = ''
+
+ meta = ''
+ headers = []
+
+ # TODO(kristijanburnik): Implement the opt-in-method here.
if opt_in_method == 'meta-csp':
- selection['meta_opt_in'] = '\n <meta http-equiv="Content-Security-Policy" ' + \
- 'content="block-all-mixed-content">'
+ meta = '<meta http-equiv="Content-Security-Policy" ' + \
+ 'content="block-all-mixed-content">'
elif opt_in_method == 'http-csp':
- opt_in_headers = "Content-Security-Policy: block-all-mixed-content\n"
- write_file(test_headers_filename, opt_in_headers)
+ headers.append("Content-Security-Policy: block-all-mixed-content")
elif opt_in_method == 'no-opt-in':
pass
else:
raise ValueError("Invalid opt_in_method %s" % opt_in_method)
- # Write out the generated HTML file.
- write_file(test_filename, test_html_template % selection)
-
-
-def generate_test_source_files(spec_json, target):
- test_expansion_schema = spec_json['test_expansion_schema']
- specification = spec_json['specification']
-
- spec_json_js_template = get_template('spec_json.js.template')
- write_file(generated_spec_json_filename,
- spec_json_js_template % {'spec_json': json.dumps(spec_json)})
-
- # Choose a debug/release template depending on the target.
- html_template = "test.%s.html.template" % target
-
- artifact_order = test_expansion_schema.keys() + ['name']
- artifact_order.remove('expansion')
-
- # Create list of excluded tests.
- exclusion_dict = {}
- for excluded_pattern in spec_json['excluded_tests']:
- excluded_expansion = \
- expand_pattern(excluded_pattern, test_expansion_schema)
- for excluded_selection in permute_expansion(excluded_expansion,
- artifact_order):
- excluded_selection_path = selection_pattern % excluded_selection
- exclusion_dict[excluded_selection_path] = True
-
- for spec in specification:
- # Used to make entries with expansion="override" override preceding
- # entries with the same |selection_path|.
- output_dict = {}
-
- for expansion_pattern in spec['test_expansion']:
- expansion = expand_pattern(expansion_pattern, test_expansion_schema)
- for selection in permute_expansion(expansion, artifact_order):
- selection_path = selection_pattern % selection
- if not selection_path in exclusion_dict:
- if selection_path in output_dict:
- if expansion_pattern['expansion'] != 'override':
- print("Error: %s's expansion is default but overrides %s" % (selection['name'], output_dict[selection_path]['name']))
- sys.exit(1)
- output_dict[selection_path] = copy.deepcopy(selection)
- else:
- print('Excluding selection:', selection_path)
-
- for selection_path in output_dict:
- selection = output_dict[selection_path]
- generate_selection(selection,
- spec,
- html_template)
-
-
-def main(target, spec_filename):
- spec_json = load_spec_json(spec_filename)
- spec_validator.assert_valid_spec_json(spec_json)
- generate_test_source_files(spec_json, target)
+ return {"meta": meta, "headers": headers}
if __name__ == '__main__':
- parser = argparse.ArgumentParser(description='Test suite generator utility')
- parser.add_argument('-t', '--target', type = str,
- choices = ("release", "debug"), default = "release",
- help = 'Sets the appropriate template for generating tests')
- parser.add_argument('-s', '--spec', type = str, default = None,
- help = 'Specify a file used for describing and generating the tests')
- # TODO(kristijanburnik): Add option for the spec_json file.
- args = parser.parse_args()
- main(args.target, args.spec)
+ generate.main(MixedContentConfig())
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html b/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html
index c8e367079bd..914ddfc4b22 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html
@@ -16,9 +16,8 @@
<script>
var img_url = "/common/security-features/subresource/image.py";
promise_test((t) => timeoutPromise(t, 1000)
- .then(() => loadImageInWindow(img_url, null, window))
- .then(function (img) {
- var message = decodeImageData(extractImageData(img));
+ .then(() => requestViaImage(img_url, null))
+ .then(message => {
assert_equals(message.headers.referer, document.location.origin + "/");
}),
"Prefetched image.");
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html
index ac7f37006ec..b7a9c9fe0e4 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html
@@ -19,7 +19,7 @@
var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
- return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
+ return requestViaImage(url, null, 'no-referrer')
.then(function(message) {
assert_equals(message.referrer, document.location.origin + "/");
});
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html
index 0e99cd4ea8e..c13403aa22a 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html
@@ -19,7 +19,7 @@
var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
- return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
+ return requestViaImage(url, null, 'no-referrer')
.then(function(message) {
assert_equals(message.referrer, document.location.origin + "/");
});
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html
index 3c2bf21a62b..c36c456e23a 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html
@@ -19,7 +19,7 @@
var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
- return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
+ return requestViaImage(url, null, 'no-referrer')
.then(function(message) {
assert_equals(message.referrer, document.location.href);
});
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html
index 2c13376b14c..6a8c8eecbff 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html
@@ -19,7 +19,7 @@
var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
- return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
+ return requestViaImage(url, null, 'no-referrer')
.then(function(message) {
assert_equals(message.referrer, document.location.origin + "/");
});
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html
index e727acd588e..5b9c4eb20a4 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html
@@ -19,7 +19,7 @@
var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
- return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
+ return requestViaImage(url, null, 'no-referrer')
.then(function(message) {
assert_equals(message.referrer, document.location.origin + "/");
});
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js b/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js
index 8bdbd3961b9..c8a3beaf89e 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js
@@ -17,6 +17,17 @@ function getSubresourceOrigin(originType) {
const wsPort = getNormalizedPort(parseInt("{{ports[ws][0]}}", 10));
const wssPort = getNormalizedPort(parseInt("{{ports[wss][0]}}", 10));
+ /**
+ @typedef OriginType
+ @type {string}
+
+ Represents the origin of the subresource request URL.
+ The keys of `originMap` below are the valid values.
+
+ Note that there can be redirects from the specified origin
+ (see RedirectionType), and thus the origin of the subresource
+ response URL might be different from what is specified by OriginType.
+ */
const originMap = {
"same-https": httpsProtocol + "://" + sameOriginHost + httpsPort,
"same-http": httpProtocol + "://" + sameOriginHost + httpPort,
@@ -65,24 +76,20 @@ function ReferrerPolicyTestCase(scenario, testDescription, sanityChecker) {
scenario.subresource,
originTypeConversion[scenario.origin + '-' + scenario.target_protocol],
scenario.redirection);
- const invoker =
- subresourceMap[scenario.subresource].invokerForReferrerPolicy ||
- subresourceMap[scenario.subresource].invoker;
- const checkResult = result => {
- const referrerUrlResolver = {
- "omitted": function() {
- return undefined;
- },
- "origin": function() {
- return self.origin + "/";
- },
- "stripped-referrer": function() {
- return stripUrlForUseAsReferrer(location.toString());
- }
- };
- const expectedReferrerUrl =
- referrerUrlResolver[scenario.referrer_url]();
+ const referrerUrlResolver = {
+ "omitted": function(sourceUrl) {
+ return undefined;
+ },
+ "origin": function(sourceUrl) {
+ return new URL(sourceUrl).origin + "/";
+ },
+ "stripped-referrer": function(sourceUrl) {
+ return stripUrlForUseAsReferrer(sourceUrl);
+ }
+ };
+
+ const checkResult = (expectedReferrerUrl, result) => {
// Check if the result is in valid format. NOOP in release.
sanityChecker.checkSubresourceResult(scenario, urls.testUrl, result);
@@ -98,21 +105,83 @@ function ReferrerPolicyTestCase(scenario, testDescription, sanityChecker) {
};
function runTest() {
+ const deliveryTypeConversion = {
+ "attr-referrer": "attr",
+ "rel-noreferrer": "rel-noref",
+ // Other delivery methods such as "http-rp" are ignored here because
+ // they are already applied to the main document by generator.py.
+ };
+
+ /** @type {PolicyDelivery} */
+ const delivery = {
+ deliveryType: deliveryTypeConversion[scenario.delivery_method],
+ key: "referrerPolicy",
+ value: scenario.referrer_policy};
+
+ /** @type {Subresource} */
+ const subresource = {
+ subresourceType: scenario.subresource,
+ url: urls.testUrl,
+ policyDeliveries: [delivery]
+ };
+
+ const expectedReferrer =
+ referrerUrlResolver[scenario.referrer_url](location.toString());
+
+ // Request in the top-level document.
promise_test(_ => {
- // Depending on the delivery method, extend the subresource element with
- // these attributes.
- var elementAttributesForDeliveryMethod = {
- "attr-referrer": {referrerPolicy: scenario.referrer_policy},
- "rel-noreferrer": {rel: "noreferrer"}
- };
- var deliveryMethod = scenario.delivery_method;
- let elementAttributes = {};
- if (deliveryMethod in elementAttributesForDeliveryMethod) {
- elementAttributes = elementAttributesForDeliveryMethod[deliveryMethod];
- }
- return invoker(urls.testUrl, elementAttributes, scenario.referrer_policy)
- .then(checkResult);
- }, testDescription);
+ return invokeRequest(subresource, [])
+ .then(result => checkResult(expectedReferrer, result));
+ }, testDescription);
+
+ // We test requests from inside iframes only for <img> tags.
+ // This is just to preserve the previous test coverage.
+ // TODO(hiroshige): Enable iframe tests for all subresource types.
+ if (scenario.subresource !== "img-tag") {
+ return;
+ }
+
+ // Request in a `srcdoc` frame to ensure that it uses the referrer
+ // policy of its parent,
+ promise_test(_ => {
+ /** @type {Array<SourceContext>} */
+ const sourceContextList = [{sourceContextType: "srcdoc"}];
+
+ return invokeRequest(subresource, sourceContextList)
+ .then(result => checkResult(expectedReferrer, result));
+ }, testDescription + " (srcdoc iframe inherits parent)");
+
+ // Request in a `srcdoc` frame with its own referrer policy to
+ // override its parent.
+ promise_test(_ => {
+ // Give a srcdoc iframe a referrer policy different from the
+ // top-level page's policy.
+ const overridingPolicy =
+ scenario.referrer_policy === "no-referrer" ? "unsafe-url"
+ : "no-referrer";
+ const overrridingExpectedReferrer =
+ referrerUrlResolver[overridingPolicy === "no-referrer"
+ ? "omitted"
+ : "stripped-referrer"](location.toString());
+
+ /** @type {Subresource} */
+ const subresourceWithoutDelivery = {
+ subresourceType: scenario.subresource,
+ url: urls.testUrl
+ };
+
+ // <iframe srcdoc> with overriding <meta> referrerPolicy.
+ /** @type {Array<SourceContext>} */
+ const sourceContextList = [{
+ sourceContextType: "srcdoc",
+ policyDeliveries: [{deliveryType: "meta",
+ key: "referrerPolicy",
+ value: overridingPolicy}]
+ }];
+
+ return invokeRequest(subresourceWithoutDelivery, sourceContextList)
+ .then(result => checkResult(overrridingExpectedReferrer, result));
+ }, testDescription + " (overridden by srcdoc iframe)");
}
return {start: runTest};
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html
index a9eec617d44..a3c8626641c 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html
@@ -21,7 +21,7 @@
var urlPath = '/common/security-features/subresource/image.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath + "?cache_destroyer=" + (new Date()).getTime();
- return requestViaImageForReferrerPolicy(url, undefined, "always")
+ return requestViaImage(url, undefined, "always")
.then(function(message) {
var pre = document.getElementById('received_message')
var headers = message.headers;
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/disclaimer.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/disclaimer.template
deleted file mode 100644
index 66c43ed6f21..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/disclaimer.template
+++ /dev/null
@@ -1 +0,0 @@
-<!-- DO NOT EDIT! Generated by %(generating_script_filename)s using %(html_template_filename)s. -->
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/spec_json.js.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/spec_json.js.template
deleted file mode 100644
index e4cbd034259..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/spec_json.js.template
+++ /dev/null
@@ -1 +0,0 @@
-var SPEC_JSON = %(spec_json)s;
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.debug.html.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.debug.html.template
deleted file mode 100644
index ce7761b949d..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.debug.html.template
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-%(generated_disclaimer)s
-<html>
- <head>
- <title>Referrer-Policy: %(spec_title)s</title>%(meta_delivery_method)s
- <meta name="description" content="%(spec_description)s">
- <meta name="assert" content="%(test_description)s">
- <script src="/resources/testharness.js"></script>
- <script src="/resources/testharnessreport.js"></script>
- <!-- Common global functions for referrer-policy tests. -->
- <script src="/common/security-features/resources/common.js"></script>
- <!-- The original specification JSON for validating the scenario. -->
- <script src="/referrer-policy/spec_json.js"></script>
- <!-- Internal checking of the tests -->
- <script src="/referrer-policy/generic/sanity-checker.js"></script>
- <!-- Simple wrapper API for all referrer-policy test cases. -->
- <script src="/referrer-policy/generic/referrer-policy-test-case.js?pipe=sub"></script>
- </head>
- <body>
- <h1>%(spec_title)s</h1>
- <h2>%(spec_description)s</h2>
-
- <p>
- <script>
- // Show the detailed assertion description of the test.
- document.write(document.querySelector("meta[name=assert]").content);
- </script>
- </p>
-
- <p>See <a href="%(spec_specification_url)s" target="_blank">specification</a>
- details for this test.</p>
-
- <h3>Scenario outline</h3>
- <table>
- <tbody>
- <tr>
- <th>Delivery method</th>
- <td>%(delivery_method)s</td>
- </tr>
- <tr>
- <th>Redirection</th>
- <td>%(redirection)s</td>
- </tr>
- <tr>
- <th>Origin transition</th>
- <td>%(origin)s</td>
- </tr>
- <tr>
- <th>Protocol transition</th>
- <td>from %(source_protocol)s to %(target_protocol)s</td>
- </tr>
- <tr>
- <th>Subresource type</th>
- <td>%(subresource)s</td>
- </tr>
- <tr>
- <td colspan="2"><hr></td>
- </tr>
- <tr>
- <th>Expected result</th>
- <td>Referrer URL should be <strong>%(referrer_url)s</strong></td>
- </tr>
- <tbody>
- </table>
-
- <script>%(test_js)s</script>
-
- <div id="log"></div>
- </body>
-</html>
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.js.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.js.template
deleted file mode 100644
index 900099436a8..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test.js.template
+++ /dev/null
@@ -1,14 +0,0 @@
-ReferrerPolicyTestCase(
- {
- "referrer_policy": %(referrer_policy_json)s,
- "delivery_method": "%(delivery_method)s",
- "redirection": "%(redirection)s",
- "origin": "%(origin)s",
- "source_protocol": "%(source_protocol)s",
- "target_protocol": "%(target_protocol)s",
- "subresource": "%(subresource)s",
- "referrer_url": "%(referrer_url)s"
- },
- document.querySelector("meta[name=assert]").content,
- new SanityChecker()
-).start();
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test_description.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/test_description.template
deleted file mode 100644
index fbc80bb25af..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/test_description.template
+++ /dev/null
@@ -1,5 +0,0 @@
-The referrer URL is %(referrer_url)s when a
-document served over %(source_protocol)s requires an %(target_protocol)s
-sub-resource via %(subresource)s using the %(delivery_method)s
-delivery method with %(redirection)s and when
-the target request is %(origin)s.
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/tools/generate.py b/tests/wpt/web-platform-tests/referrer-policy/generic/tools/generate.py
index 592948696ae..a59770ffa26 100755
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/tools/generate.py
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/tools/generate.py
@@ -1,191 +1,68 @@
#!/usr/bin/env python
-from __future__ import print_function
-
-import copy
-import os, sys, json
-from common_paths import *
-import spec_validator
-import argparse
-
-
-def expand_pattern(expansion_pattern, test_expansion_schema):
- expansion = {}
- for artifact_key in expansion_pattern:
- artifact_value = expansion_pattern[artifact_key]
- if artifact_value == '*':
- expansion[artifact_key] = test_expansion_schema[artifact_key]
- elif isinstance(artifact_value, list):
- expansion[artifact_key] = artifact_value
- elif isinstance(artifact_value, dict):
- # Flattened expansion.
- expansion[artifact_key] = []
- values_dict = expand_pattern(artifact_value,
- test_expansion_schema[artifact_key])
- for sub_key in values_dict.keys():
- expansion[artifact_key] += values_dict[sub_key]
- else:
- expansion[artifact_key] = [artifact_value]
-
- return expansion
-
-
-def permute_expansion(expansion, artifact_order, selection = {}, artifact_index = 0):
- assert isinstance(artifact_order, list), "artifact_order should be a list"
-
- if artifact_index >= len(artifact_order):
- yield selection
- return
-
- artifact_key = artifact_order[artifact_index]
-
- for artifact_value in expansion[artifact_key]:
- selection[artifact_key] = artifact_value
- for next_selection in permute_expansion(expansion,
- artifact_order,
- selection,
- artifact_index + 1):
- yield next_selection
-
-
-def generate_selection(selection, spec, test_html_template_basename):
- selection['spec_name'] = spec['name']
- selection['spec_title'] = spec['title']
- selection['spec_description'] = spec['description']
- selection['spec_specification_url'] = spec['specification_url']
- # Oddball: it can be None, so in JS it's null.
- selection['referrer_policy_json'] = json.dumps(spec['referrer_policy'])
-
- test_filename = test_file_path_pattern % selection
- test_directory = os.path.dirname(test_filename)
- full_path = os.path.join(spec_directory, test_directory)
-
- test_html_template = get_template(test_html_template_basename)
- test_js_template = get_template("test.js.template")
- disclaimer_template = get_template('disclaimer.template')
- test_description_template = get_template("test_description.template")
-
- html_template_filename = os.path.join(template_directory,
- test_html_template_basename)
- generated_disclaimer = disclaimer_template \
- % {'generating_script_filename': os.path.relpath(__file__,
- test_root_directory),
- 'html_template_filename': os.path.relpath(html_template_filename,
- test_root_directory)}
-
- # Adjust the template for the test invoking JS. Indent it to look nice.
- selection['generated_disclaimer'] = generated_disclaimer.rstrip()
- test_description_template = \
- test_description_template.rstrip().replace("\n", "\n" + " " * 33)
- selection['test_description'] = test_description_template % selection
-
- # Adjust the template for the test invoking JS. Indent it to look nice.
- indent = "\n" + " " * 6;
- test_js_template = indent + test_js_template.replace("\n", indent);
- selection['test_js'] = test_js_template % selection
-
- # Directory for the test files.
- try:
- os.makedirs(full_path)
- except:
- pass
-
- selection['meta_delivery_method'] = ''
-
- if spec['referrer_policy'] != None:
- if selection['delivery_method'] == 'meta-referrer':
- selection['meta_delivery_method'] = \
- '<meta name="referrer" content="%(referrer_policy)s">' % spec
- elif selection['delivery_method'] == 'http-rp':
- selection['meta_delivery_method'] = \
+import os
+import sys
+
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..', '..', 'common', 'security-features', 'tools'))
+import generate
+
+class ReferrerPolicyConfig(object):
+ def __init__(self):
+ self.selection_pattern = '%(delivery_method)s/' + \
+ '%(origin)s/' + \
+ '%(source_protocol)s-%(target_protocol)s/' + \
+ '%(subresource)s/' + \
+ '%(redirection)s/'
+
+ self.test_file_path_pattern = '%(spec_name)s/' + self.selection_pattern + \
+ '%(name)s.%(source_protocol)s.html'
+
+ self.test_description_template = '''The referrer URL is %(referrer_url)s when a
+document served over %(source_protocol)s requires an %(target_protocol)s
+sub-resource via %(subresource)s using the %(delivery_method)s
+delivery method with %(redirection)s and when
+the target request is %(origin)s.'''
+
+ self.test_page_title_template = 'Referrer-Policy: %s'
+
+ self.helper_js = '/referrer-policy/generic/referrer-policy-test-case.js?pipe=sub'
+
+ # For debug target only.
+ self.sanity_checker_js = '/referrer-policy/generic/sanity-checker.js'
+ self.spec_json_js = '/referrer-policy/spec_json.js'
+
+ self.test_case_name = 'ReferrerPolicyTestCase'
+
+ script_directory = os.path.dirname(os.path.abspath(__file__))
+ self.spec_directory = os.path.abspath(os.path.join(script_directory, '..', '..'))
+
+ def handleDelivery(self, selection, spec):
+ delivery_method = selection['delivery_method']
+ delivery_value = spec['referrer_policy']
+
+ meta = ''
+ headers = []
+ if delivery_value != None:
+ if delivery_method == 'meta-referrer':
+ meta = \
+ '<meta name="referrer" content="%s">' % delivery_value
+ elif delivery_method == 'http-rp':
+ meta = \
"<!-- No meta: Referrer policy delivered via HTTP headers. -->"
- test_headers_filename = test_filename + ".headers"
- with open(test_headers_filename, "w") as f:
- f.write('Referrer-Policy: ' + \
- '%(referrer_policy)s\n' % spec)
- # TODO(kristijanburnik): Limit to WPT origins.
- f.write('Access-Control-Allow-Origin: *\n')
- elif selection['delivery_method'] == 'attr-referrer':
+ headers.append('Referrer-Policy: ' + '%s' % delivery_value)
+ # TODO(kristijanburnik): Limit to WPT origins.
+ headers.append('Access-Control-Allow-Origin: *')
+ elif delivery_method == 'attr-referrer':
# attr-referrer is supported by the JS test wrapper.
pass
- elif selection['delivery_method'] == 'rel-noreferrer':
+ elif delivery_method == 'rel-noreferrer':
# rel=noreferrer is supported by the JS test wrapper.
pass
else:
raise ValueError('Not implemented delivery_method: ' \
- + selection['delivery_method'])
-
- # Obey the lint and pretty format.
- if len(selection['meta_delivery_method']) > 0:
- selection['meta_delivery_method'] = "\n " + \
- selection['meta_delivery_method']
-
- # Write out the generated HTML file.
- write_file(test_filename, test_html_template % selection)
-
-
-def generate_test_source_files(spec_json, target):
- test_expansion_schema = spec_json['test_expansion_schema']
- specification = spec_json['specification']
-
- spec_json_js_template = get_template('spec_json.js.template')
- write_file(generated_spec_json_filename,
- spec_json_js_template % {'spec_json': json.dumps(spec_json)})
-
- # Choose a debug/release template depending on the target.
- html_template = "test.%s.html.template" % target
-
- artifact_order = test_expansion_schema.keys() + ['name']
- artifact_order.remove('expansion')
-
- # Create list of excluded tests.
- exclusion_dict = {}
- for excluded_pattern in spec_json['excluded_tests']:
- excluded_expansion = \
- expand_pattern(excluded_pattern, test_expansion_schema)
- for excluded_selection in permute_expansion(excluded_expansion,
- artifact_order):
- excluded_selection_path = selection_pattern % excluded_selection
- exclusion_dict[excluded_selection_path] = True
-
- for spec in specification:
- # Used to make entries with expansion="override" override preceding
- # entries with the same |selection_path|.
- output_dict = {}
-
- for expansion_pattern in spec['test_expansion']:
- expansion = expand_pattern(expansion_pattern, test_expansion_schema)
- for selection in permute_expansion(expansion, artifact_order):
- selection_path = selection_pattern % selection
- if not selection_path in exclusion_dict:
- if selection_path in output_dict:
- if expansion_pattern['expansion'] != 'override':
- print("Error: %s's expansion is default but overrides %s" % (selection['name'], output_dict[selection_path]['name']))
- sys.exit(1)
- output_dict[selection_path] = copy.deepcopy(selection)
- else:
- print('Excluding selection:', selection_path)
-
- for selection_path in output_dict:
- selection = output_dict[selection_path]
- generate_selection(selection,
- spec,
- html_template)
-
-
-def main(target, spec_filename):
- spec_json = load_spec_json(spec_filename)
- spec_validator.assert_valid_spec_json(spec_json)
- generate_test_source_files(spec_json, target)
+ + delivery_method)
+ return {"meta": meta, "headers": headers}
if __name__ == '__main__':
- parser = argparse.ArgumentParser(description='Test suite generator utility')
- parser.add_argument('-t', '--target', type = str,
- choices = ("release", "debug"), default = "release",
- help = 'Sets the appropriate template for generating tests')
- parser.add_argument('-s', '--spec', type = str, default = None,
- help = 'Specify a file used for describing and generating the tests')
- # TODO(kristijanburnik): Add option for the spec_json file.
- args = parser.parse_args()
- main(args.target, args.spec)
+ generate.main(ReferrerPolicyConfig())
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html b/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html
index 6c03a48e1c1..190aa5212f3 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html
@@ -20,7 +20,7 @@
var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
- return requestViaImageForReferrerPolicy(url, null, 'always')
+ return requestViaImage(url, null, 'always')
.then(function(message) {
assert_equals(message.referrer, document.location.href);
});
diff --git a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-embed.html b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-embed.html
new file mode 100644
index 00000000000..bbba46c50ed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-embed.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<meta name=timeout content=long>
+<title>Resource Timing embed navigate - back button navigation</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/nested-contexts.js"></script>
+<script>
+ open_test_window("resources/embed-navigate-back.html", "Test that embed navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/embed-navigate-back.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/embed-navigate.html", "Test that embed navigations are not observable by the parent");
+ open_test_window("resources/embed-navigate.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent");
+ open_test_window("resources/embed-refresh.html", "Test that embed refreshes are not observable by the parent");
+ open_test_window("resources/embed-refresh.html?crossorigin", "Test that crossorigin embed refreshes are not observable by the parent");
+</script>
+
diff --git a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-iframe.html b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-iframe.html
new file mode 100644
index 00000000000..86a83285288
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-iframe.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<meta name=timeout content=long>
+<title>Resource Timing embed navigate - back button navigation</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/nested-contexts.js"></script>
+<script>
+ open_test_window("resources/iframe-navigate-back.html", "Test that iframe navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/iframe-navigate-back.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/iframe-navigate.html", "Test that iframe navigations are not observable by the parent");
+ open_test_window("resources/iframe-navigate.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent");
+ open_test_window("resources/iframe-refresh.html", "Test that iframe refreshes are not observable by the parent");
+ open_test_window("resources/iframe-refresh.html?crossorigin", "Test that crossorigin iframe refreshes are not observable by the parent");
+</script>
+
diff --git a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-object.html b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-object.html
new file mode 100644
index 00000000000..20cceea38d6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations-object.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<meta name=timeout content=long>
+<title>Resource Timing embed navigate - back button navigation</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/nested-contexts.js"></script>
+<script>
+ open_test_window("resources/object-navigate-back.html", "Test that object navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/object-navigate-back.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/object-navigate.html", "Test that object navigations are not observable by the parent");
+ open_test_window("resources/object-navigate.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent");
+ open_test_window("resources/object-refresh.html", "Test that object refreshes are not observable by the parent");
+ open_test_window("resources/object-refresh.html?crossorigin", "Test that crossorigin object refreshes are not observable by the parent");
+</script>
+
diff --git a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html
deleted file mode 100644
index 483cc5b82d5..00000000000
--- a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8" />
-<meta name=timeout content=long>
-<title>Resource Timing embed navigate - back button navigation</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/common/get-host-info.sub.js"></script>
-<script src="resources/nested-contexts.js"></script>
-<script>
- open_test_window("resources/embed-navigate-back.html", "Test that embed navigations are not observable by the parent, even after history navigations by the parent");
- open_test_window("resources/embed-navigate-back.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent");
- open_test_window("resources/embed-navigate.html", "Test that embed navigations are not observable by the parent");
- open_test_window("resources/embed-navigate.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent");
- open_test_window("resources/embed-refresh.html", "Test that embed refreshes are not observable by the parent");
- open_test_window("resources/embed-refresh.html?crossorigin", "Test that crossorigin embed refreshes are not observable by the parent");
- open_test_window("resources/iframe-navigate-back.html", "Test that iframe navigations are not observable by the parent, even after history navigations by the parent");
- open_test_window("resources/iframe-navigate-back.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent");
- open_test_window("resources/iframe-navigate.html", "Test that iframe navigations are not observable by the parent");
- open_test_window("resources/iframe-navigate.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent");
- open_test_window("resources/iframe-refresh.html", "Test that iframe refreshes are not observable by the parent");
- open_test_window("resources/iframe-refresh.html?crossorigin", "Test that crossorigin iframe refreshes are not observable by the parent");
- open_test_window("resources/object-navigate-back.html", "Test that object navigations are not observable by the parent, even after history navigations by the parent");
- open_test_window("resources/object-navigate-back.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent");
- open_test_window("resources/object-navigate.html", "Test that object navigations are not observable by the parent");
- open_test_window("resources/object-navigate.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent");
- open_test_window("resources/object-refresh.html", "Test that object refreshes are not observable by the parent");
- open_test_window("resources/object-refresh.html?crossorigin", "Test that crossorigin object refreshes are not observable by the parent");
-</script>
-
diff --git a/tests/wpt/web-platform-tests/tools/lint/lint.py b/tests/wpt/web-platform-tests/tools/lint/lint.py
index 19d0c112186..dd06e0a02fc 100644
--- a/tests/wpt/web-platform-tests/tools/lint/lint.py
+++ b/tests/wpt/web-platform-tests/tools/lint/lint.py
@@ -4,6 +4,7 @@ import abc
import argparse
import ast
import json
+import logging
import os
import re
import subprocess
@@ -19,12 +20,15 @@ from ..gitignore.gitignore import PathFilter
from ..wpt import testfiles
from ..manifest.vcs import walk
-from manifest.sourcefile import SourceFile, js_meta_re, python_meta_re, space_chars, get_any_variants, get_default_any_variants
-from six import binary_type, iteritems, itervalues
+from ..manifest.sourcefile import SourceFile, js_meta_re, python_meta_re, space_chars, get_any_variants, get_default_any_variants
+from six import binary_type, iteritems, itervalues, with_metaclass
from six.moves import range
from six.moves.urllib.parse import urlsplit, urljoin
-import logging
+MYPY = False
+if MYPY:
+ # MYPY is set to True when run under Mypy.
+ from typing import Type
logger = None
@@ -330,7 +334,7 @@ def filter_whitelist_errors(data, errors):
return [item for i, item in enumerate(errors) if not whitelisted[i]]
-regexps = [item() for item in
+regexps = [item() for item in # type: ignore
[rules.TrailingWhitespaceRegexp,
rules.TabsRegexp,
rules.CRRegexp,
@@ -503,9 +507,11 @@ def check_parsed(repo_root, path, f):
return errors
-class ASTCheck(object):
- __metaclass__ = abc.ABCMeta
- rule = None
+class ASTCheck(with_metaclass(abc.ABCMeta)):
+ @abc.abstractproperty
+ def rule(self):
+ # type: () -> Type[rules.Rule]
+ pass
@abc.abstractmethod
def check(self, root):
diff --git a/tests/wpt/web-platform-tests/tools/lint/rules.py b/tests/wpt/web-platform-tests/tools/lint/rules.py
index 78f9d072a8a..76d5d3e9926 100644
--- a/tests/wpt/web-platform-tests/tools/lint/rules.py
+++ b/tests/wpt/web-platform-tests/tools/lint/rules.py
@@ -1,11 +1,29 @@
from __future__ import unicode_literals
+
+import abc
import os
import re
-class Rule(object):
- name = None
- description = None
- to_fix = None
+import six
+
+MYPY = False
+if MYPY:
+ # MYPY is set to True when run under Mypy.
+ from typing import List, Optional, Pattern, Text, Match
+
+
+class Rule(six.with_metaclass(abc.ABCMeta)):
+ @abc.abstractproperty
+ def name(self):
+ # type: () -> Text
+ pass
+
+ @abc.abstractproperty
+ def description(self):
+ # type: () -> Text
+ pass
+
+ to_fix = None # type: Optional[Text]
@classmethod
def error(cls, path, context=(), line_no=None):
@@ -232,19 +250,30 @@ class BrokenMetadata(Rule):
description = "Metadata comment is not formatted correctly"
-class Regexp(Rule):
- pattern = None
- file_extensions = None
- _re = None
+class Regexp(six.with_metaclass(abc.ABCMeta)):
+ @abc.abstractproperty
+ def pattern(self):
+ # type: () -> bytes
+ pass
+
+ @abc.abstractproperty
+ def description(self):
+ # type: () -> Text
+ pass
+
+ file_extensions = None # type: Optional[List[Text]]
def __init__(self):
- self._re = re.compile(self.pattern)
+ # type: () -> None
+ self._re = re.compile(self.pattern) # type: Pattern
def applies(self, path):
+ # type: (str) -> bool
return (self.file_extensions is None or
os.path.splitext(path)[1] in self.file_extensions)
def search(self, line):
+ # type: (bytes) -> Optional[Match[bytes]]
return self._re.search(line)
diff --git a/tests/wpt/web-platform-tests/tools/manifest/XMLParser.py b/tests/wpt/web-platform-tests/tools/manifest/XMLParser.py
index 523f544b7c4..212bd7f32f4 100644
--- a/tests/wpt/web-platform-tests/tools/manifest/XMLParser.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/XMLParser.py
@@ -5,6 +5,11 @@ from collections import OrderedDict
from xml.parsers import expat
import xml.etree.ElementTree as etree
+MYPY = False
+if MYPY:
+ # MYPY is set to True when run under Mypy.
+ from typing import Dict
+
_catalog = join(dirname(__file__), "catalog")
def _wrap_error(e):
@@ -13,7 +18,7 @@ def _wrap_error(e):
err.position = e.lineno, e.offset
raise err
-_names = {}
+_names = {} # type: Dict[str, str]
def _fixname(key):
try:
name = _names[key]
diff --git a/tests/wpt/web-platform-tests/tools/manifest/item.py b/tests/wpt/web-platform-tests/tools/manifest/item.py
index b6d33e8452c..1556bfafdaf 100644
--- a/tests/wpt/web-platform-tests/tools/manifest/item.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/item.py
@@ -3,6 +3,11 @@ from six import iteritems
from six.moves.urllib.parse import urljoin, urlparse
from abc import ABCMeta, abstractproperty
+MYPY = False
+if MYPY:
+ # MYPY is set to True when run under Mypy.
+ from typing import Optional
+
item_types = {}
@@ -24,7 +29,7 @@ class ManifestItem(object):
__slots__ = ("_tests_root", "path")
- item_type = None
+ item_type = None # type: Optional[str]
def __init__(self, tests_root=None, path=None):
self._tests_root = tests_root
diff --git a/tests/wpt/web-platform-tests/tools/manifest/manifest.py b/tests/wpt/web-platform-tests/tools/manifest/manifest.py
index dc38d381988..dd2e3627f47 100644
--- a/tests/wpt/web-platform-tests/tools/manifest/manifest.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/manifest.py
@@ -10,8 +10,15 @@ from .item import (ManualTest, WebDriverSpecTest, Stub, RefTestNode, RefTest,
from .log import get_logger
from .utils import from_os_path, to_os_path
+MYPY = False
+if MYPY:
+ # MYPY is set to True when run under Mypy.
+ from typing import Dict
+ from types import ModuleType
+
try:
- import ujson as fast_json
+ import ujson
+ fast_json = ujson # type: ModuleType
except ImportError:
fast_json = json
@@ -418,7 +425,7 @@ def load(tests_root, manifest, types=None):
return _load(logger, tests_root, manifest, types)
-__load_cache = {}
+__load_cache = {} # type: Dict[str, Manifest]
def _load(logger, tests_root, manifest, types=None, allow_cached=True):
diff --git a/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py b/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
index 56b938d64ba..cd5261183ee 100644
--- a/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/sourcefile.py
@@ -5,10 +5,18 @@ from collections import deque
from six import binary_type
from six.moves.urllib.parse import urljoin
from fnmatch import fnmatch
+
+MYPY = False
+if MYPY:
+ # MYPY is set to True when run under Mypy.
+ from types import ModuleType
+
try:
- from xml.etree import cElementTree as ElementTree
+ from xml.etree import cElementTree
+ ElementTree = cElementTree # type: ModuleType
except ImportError:
- from xml.etree import ElementTree
+ from xml.etree import ElementTree as _ElementTree
+ ElementTree = _ElementTree
import html5lib
diff --git a/tests/wpt/web-platform-tests/tools/manifest/update.py b/tests/wpt/web-platform-tests/tools/manifest/update.py
index f1a70930bb3..013ec2147bc 100755
--- a/tests/wpt/web-platform-tests/tools/manifest/update.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/update.py
@@ -2,7 +2,7 @@
import argparse
import os
-import manifest
+from . import manifest
from . import vcs
from .log import get_logger
from .download import download_from_github
diff --git a/tests/wpt/web-platform-tests/tools/manifest/vcs.py b/tests/wpt/web-platform-tests/tools/manifest/vcs.py
index b63df4d0a8a..d900012212e 100644
--- a/tests/wpt/web-platform-tests/tools/manifest/vcs.py
+++ b/tests/wpt/web-platform-tests/tools/manifest/vcs.py
@@ -78,7 +78,7 @@ class GitHasher(object):
class FileSystem(object):
def __init__(self, root, url_base, cache_path, manifest_path=None, rebuild=False):
- from gitignore import gitignore
+ from gitignore import gitignore # type: ignore
self.root = os.path.abspath(root)
self.url_base = url_base
self.ignore_cache = None
@@ -115,7 +115,7 @@ class FileSystem(object):
class CacheFile(object):
- file_name = None
+ file_name = None # type: Optional[str]
def __init__(self, cache_root, tests_root, rebuild=False):
self.tests_root = tests_root
diff --git a/tests/wpt/web-platform-tests/tools/mypy.ini b/tests/wpt/web-platform-tests/tools/mypy.ini
new file mode 100644
index 00000000000..710df96244a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/tools/mypy.ini
@@ -0,0 +1,25 @@
+[mypy]
+#check_untyped_defs = True
+#disallow_any_generics = True
+#disallow_untyped_calls = True
+#disallow_untyped_defs = True
+disallow_incomplete_defs = True
+disallow_subclassing_any = True
+disallow_untyped_decorators = True
+no_implicit_optional = True
+warn_redundant_casts = True
+warn_return_any = True
+warn_unused_configs = True
+warn_unused_ignores = True
+
+[mypy-html5lib.*]
+ignore_missing_imports = True
+
+[mypy-hypothesis.*]
+ignore_missing_imports = True
+
+[mypy-pytest.*]
+ignore_missing_imports = True
+
+[mypy-zstandard.*]
+ignore_missing_imports = True
diff --git a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
new file mode 100644
index 00000000000..0654986be4f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
@@ -0,0 +1,3 @@
+mypy==0.701
+mypy-extensions==0.4.1
+typed-ast==1.3.4
diff --git a/tests/wpt/web-platform-tests/tools/runner/runner.js b/tests/wpt/web-platform-tests/tools/runner/runner.js
index ef0b6a449d6..daaf9d45da5 100644
--- a/tests/wpt/web-platform-tests/tools/runner/runner.js
+++ b/tests/wpt/web-platform-tests/tools/runner/runner.js
@@ -153,13 +153,22 @@ ManifestIterator.prototype = {
},
matches: function(manifest_item) {
- return this.match_location(manifest_item.url) !== null;
+ var url_base = this.manifest.data.url_base;
+ if (url_base.charAt(url_base.length - 1) !== "/") {
+ url_base = url_base + "/";
+ }
+ var url = url_base + manifest_item.url;
+ return this.match_location(url) !== null;
},
to_test: function(manifest_item) {
+ var url_base = this.manifest.data.url_base;
+ if (url_base.charAt(url_base.length - 1) !== "/") {
+ url_base = url_base + "/";
+ }
var test = {
type: this.test_types[this.test_types_index],
- url: manifest_item.url
+ url: url_base + manifest_item.url
};
if (manifest_item.hasOwnProperty("references")) {
test.ref_length = manifest_item.references.length;
@@ -638,8 +647,9 @@ Results.prototype = {
},
to_json: function() {
+ var test_results = this.test_results || [];
var data = {
- "results": this.test_results.map(function(result) {
+ "results": test_results.map(function(result) {
var rv = {"test":(result.test.hasOwnProperty("ref_url") ?
[result.test.url, result.test.ref_type, result.test.ref_url] :
result.test.url),
diff --git a/tests/wpt/web-platform-tests/tools/tox.ini b/tests/wpt/web-platform-tests/tools/tox.ini
index bb9873d5bc6..d0b186428ed 100644
--- a/tests/wpt/web-platform-tests/tools/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py27,py36,pypy,{py27,py36}-flake8
+envlist = py27,py36,pypy,{py27,py36}-flake8,py36-mypy
skipsdist=True
[testenv]
@@ -21,3 +21,10 @@ commands = flake8 --append-config={toxinidir}/py27-flake8.ini {posargs}
[testenv:py36-flake8]
deps = -rrequirements_flake8.txt
commands = flake8 --append-config={toxinidir}/py36-flake8.ini {posargs}
+
+[testenv:py36-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
+ mypy --config-file={toxinidir}/mypy.ini --no-incremental -p tools.manifest -p tools.lint -p tools.gitignore
diff --git a/tests/wpt/web-platform-tests/tools/wpt/testfiles.py b/tests/wpt/web-platform-tests/tools/wpt/testfiles.py
index 7f0f221a1f6..09dd45bcbd8 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/testfiles.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/testfiles.py
@@ -185,7 +185,7 @@ def load_manifest(manifest_path=None, manifest_update=True):
# Delay import after localpaths sets up sys.path, because otherwise the
# import path will be "..manifest" and Python will treat it as a different
# manifest module.
- from manifest import manifest
+ from manifest import manifest # type: ignore
if manifest_path is None:
manifest_path = os.path.join(wpt_root, "MANIFEST.json")
return manifest.load_and_update(wpt_root, manifest_path, "/",
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py
index 45c83d9b816..9414ff230d4 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/browsers/fennec.py
@@ -68,7 +68,8 @@ def env_extras(**kwargs):
def run_info_extras(**kwargs):
- rv = {"e10s": False,
+ package = kwargs["package_name"]
+ rv = {"e10s": True if package is not None and "geckoview" in package else False,
"headless": False,
"sw-e10s": False}
rv.update(run_info_browser_version(kwargs["binary"]))
@@ -110,6 +111,7 @@ class FennecBrowser(FirefoxBrowser):
self.device_serial = device_serial
self.tests_root = kwargs["tests_root"]
self.install_fonts = kwargs["install_fonts"]
+ self.stackwalk_binary = kwargs["stackwalk_binary"]
@property
def package_name(self):
@@ -220,3 +222,8 @@ class FennecBrowser(FirefoxBrowser):
# browser to shut down. This allows the leak log to be written
self.runner.stop()
self.logger.debug("stopped")
+
+ def check_crash(self, process, test):
+ if not os.environ.get("MINIDUMP_STACKWALK", "") and self.stackwalk_binary:
+ os.environ["MINIDUMP_STACKWALK"] = self.stackwalk_binary
+ return self.runner.check_for_crashes()
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
index f35c03a30e8..cfbc42f61a0 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
@@ -9,8 +9,6 @@ import socket
from six.moves.urllib.parse import urljoin, urlsplit, urlunsplit
from abc import ABCMeta, abstractmethod
-from PIL import Image, ImageChops, ImageStat
-
from ..testrunner import Stop
from .protocol import Protocol, BaseProtocolPart
@@ -316,6 +314,8 @@ class RefTestImplementation(object):
return equal if relation == "==" else not equal
def get_differences(self, screenshots):
+ from PIL import Image, ImageChops, ImageStat
+
lhs = Image.open(io.BytesIO(base64.b64decode(screenshots[0]))).convert("RGB")
rhs = Image.open(io.BytesIO(base64.b64decode(screenshots[1]))).convert("RGB")
diff = ImageChops.difference(lhs, rhs)
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
index 0b0068f8c5b..8ceb99261e2 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py
@@ -708,7 +708,7 @@ class MarionetteTestharnessExecutor(TestharnessExecutor):
format_map = {"url": strip_server(url)}
- protocol.base.execute_script("window.open('about:blank', '%s', 'noopener')" % self.window_id)
+ protocol.base.execute_script("window.open(undefined, '%s', 'noopener')" % self.window_id)
test_window = protocol.testharness.get_test_window(self.window_id, parent_window,
timeout=10*self.timeout_multiplier)
self.protocol.base.set_window(test_window)
@@ -897,7 +897,8 @@ class InternalRefTestImplementation(RefTestImplementation):
# with after closing a window we need to give a new window
# focus
handles = self.executor.protocol.marionette.window_handles
- self.executor.protocol.marionette.switch_to_window(handles[0])
+ if handles:
+ self.executor.protocol.marionette.switch_to_window(handles[0])
except Exception as e:
# Ignore errors during teardown
self.logger.warning(traceback.format_exc(e))
diff --git a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js
index 8d9b296ff74..3ac142e6278 100644
--- a/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js
+++ b/tests/wpt/web-platform-tests/web-animations/animation-model/animation-types/property-list.js
@@ -1175,18 +1175,6 @@ const gCSSProperties = {
{ type: 'discrete', options: [ [ 'auto', 'smooth' ] ] }
]
},
- 'scroll-snap-type-x': {
- // https://developer.mozilla.org/en/docs/Web/CSS/scroll-snap-type-x
- types: [
- { type: 'discrete', options: [ [ 'mandatory', 'proximity' ] ] }
- ]
- },
- 'scroll-snap-type-y': {
- // https://developer.mozilla.org/en/docs/Web/CSS/scroll-snap-type-y
- types: [
- { type: 'discrete', options: [ [ 'mandatory', 'proximity' ] ] }
- ]
- },
'shape-outside': {
// http://dev.w3.org/csswg/css-shapes/#propdef-shape-outside
types: [
diff --git a/tests/wpt/web-platform-tests/web-animations/interfaces/Animatable/animate.html b/tests/wpt/web-platform-tests/web-animations/interfaces/Animatable/animate.html
index b7c590e67a0..fcf753baef3 100644
--- a/tests/wpt/web-platform-tests/web-animations/interfaces/Animatable/animate.html
+++ b/tests/wpt/web-platform-tests/web-animations/interfaces/Animatable/animate.html
@@ -244,11 +244,25 @@ test(t => {
}, 'CSSPseudoElement.animate() creates an Animation object');
test(t => {
+ const pseudoTarget = getPseudoElement(t, 'marker');
+ const anim = pseudoTarget.animate(null);
+ assert_class_string(anim, 'Animation', 'The returned object is an Animation for ::marker');
+}, 'CSSPseudoElement.animate() creates an Animation object for ::marker');
+
+test(t => {
const pseudoTarget = getPseudoElement(t, 'before');
const anim = pseudoTarget.animate(null);
assert_equals(anim.effect.target, pseudoTarget,
'The returned Animation targets to the correct object');
}, 'CSSPseudoElement.animate() creates an Animation object targeting ' +
'to the correct CSSPseudoElement object');
+
+test(t => {
+ const pseudoTarget = getPseudoElement(t, 'marker');
+ const anim = pseudoTarget.animate(null);
+ assert_equals(anim.effect.target, pseudoTarget,
+ 'The returned Animation targets to the correct object for ::marker');
+}, 'CSSPseudoElement.animate() creates an Animation object targeting ' +
+ 'to the correct CSSPseudoElement object for ::marker');
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/web-animations/testcommon.js b/tests/wpt/web-platform-tests/web-animations/testcommon.js
index 889cab8bd31..82b70532321 100644
--- a/tests/wpt/web-platform-tests/web-animations/testcommon.js
+++ b/tests/wpt/web-platform-tests/web-animations/testcommon.js
@@ -93,6 +93,9 @@ function getPseudoElement(test, type) {
[`.pseudo::${type}`]: 'animation: anim 10s; ' +
'content: \'\';' });
const div = createDiv(test);
+ if (type == 'marker') {
+ div.style.display = 'list-item';
+ }
div.classList.add('pseudo');
const anims = document.getAnimations();
assert_true(anims.length >= 1);
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/add_cookie/add.py b/tests/wpt/web-platform-tests/webdriver/tests/add_cookie/add.py
index 24ac645029e..c1a886aafa7 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/add_cookie/add.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/add_cookie/add.py
@@ -101,13 +101,13 @@ def test_add_cookie_for_ip(session, url, server_config, configuration):
def test_add_non_session_cookie(session, url):
- a_year_from_now = int(
- (datetime.utcnow() + timedelta(days=365) - datetime.utcfromtimestamp(0)).total_seconds())
+ a_day_from_now = int(
+ (datetime.utcnow() + timedelta(days=1) - datetime.utcfromtimestamp(0)).total_seconds())
new_cookie = {
"name": "hello",
"value": "world",
- "expiry": a_year_from_now
+ "expiry": a_day_from_now
}
session.url = url("/common/blank.html")
@@ -126,7 +126,7 @@ def test_add_non_session_cookie(session, url):
assert cookie["name"] == "hello"
assert cookie["value"] == "world"
- assert cookie["expiry"] == a_year_from_now
+ assert cookie["expiry"] == a_day_from_now
def test_add_session_cookie(session, url):
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/properties.py b/tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/properties.py
new file mode 100644
index 00000000000..207daae1283
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webdriver/tests/execute_async_script/properties.py
@@ -0,0 +1,71 @@
+from tests.support.asserts import assert_same_element, assert_success
+from tests.support.inline import inline
+
+
+def execute_async_script(session, script, args=None):
+ if args is None:
+ args = []
+ body = {"script": script, "args": args}
+ return session.transport.send(
+ "POST", "/session/{session_id}/execute/async".format(**vars(session)),
+ body)
+
+
+def test_content_attribute(session):
+ session.url = inline("<input value=foobar>")
+ response = execute_async_script(session, """
+ const [resolve] = arguments;
+ const input = document.querySelector("input");
+ resolve(input.value);
+ """)
+ assert_success(response, "foobar")
+
+
+def test_idl_attribute(session):
+ session.url = inline("""
+ <input>
+ <script>
+ const input = document.querySelector("input");
+ input.value = "foobar";
+ </script>
+ """)
+ response = execute_async_script(session, """
+ const [resolve] = arguments;
+ const input = document.querySelector("input");
+ resolve(input.value);
+ """)
+ assert_success(response, "foobar")
+
+
+def test_idl_attribute_element(session):
+ session.url = inline("""
+ <p>foo
+ <p>bar
+
+ <script>
+ const [foo, bar] = document.querySelectorAll("p");
+ foo.bar = bar;
+ </script>
+ """)
+ _foo, bar = session.find.css("p")
+ response = execute_async_script(session, """
+ const [resolve] = arguments;
+ const foo = document.querySelector("p");
+ resolve(foo.bar);
+ """)
+ value = assert_success(response)
+ assert_same_element(session, bar, value)
+
+
+def test_script_defining_property(session):
+ session.url = inline("<input>")
+ session.execute_script("""
+ const input = document.querySelector("input");
+ input.foobar = "foobar";
+ """)
+ response = execute_async_script(session, """
+ const [resolve] = arguments;
+ const input = document.querySelector("input");
+ resolve(input.foobar);
+ """)
+ assert_success(response, "foobar")
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/execute_script/properties.py b/tests/wpt/web-platform-tests/webdriver/tests/execute_script/properties.py
new file mode 100644
index 00000000000..92f4722fbf6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webdriver/tests/execute_script/properties.py
@@ -0,0 +1,67 @@
+from tests.support.asserts import assert_same_element, assert_success
+from tests.support.inline import inline
+
+
+def execute_script(session, script, args=None):
+ if args is None:
+ args = []
+ body = {"script": script, "args": args}
+ return session.transport.send(
+ "POST", "/session/{session_id}/execute/sync".format(**vars(session)),
+ body)
+
+
+def test_content_attribute(session):
+ session.url = inline("<input value=foobar>")
+ response = execute_script(session, """
+ const input = document.querySelector("input");
+ return input.value;
+ """)
+ assert_success(response, "foobar")
+
+
+def test_idl_attribute(session):
+ session.url = inline("""
+ <input>
+ <script>
+ const input = document.querySelector("input");
+ input.value = "foobar";
+ </script>
+ """)
+ response = execute_script(session, """
+ const input = document.querySelector("input");
+ return input.value;
+ """)
+ assert_success(response, "foobar")
+
+
+def test_idl_attribute_element(session):
+ session.url = inline("""
+ <p>foo
+ <p>bar
+
+ <script>
+ const [foo, bar] = document.querySelectorAll("p");
+ foo.bar = bar;
+ </script>
+ """)
+ _foo, bar = session.find.css("p")
+ response = execute_script(session, """
+ const foo = document.querySelector("p");
+ return foo.bar;
+ """)
+ value = assert_success(response)
+ assert_same_element(session, bar, value)
+
+
+def test_script_defining_property(session):
+ session.url = inline("<input>")
+ execute_script(session, """
+ const input = document.querySelector("input");
+ input.foobar = "foobar";
+ """)
+ response = execute_script(session, """
+ const input = document.querySelector("input");
+ return input.foobar;
+ """)
+ assert_success(response, "foobar")
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/get_element_property/get.py b/tests/wpt/web-platform-tests/webdriver/tests/get_element_property/get.py
index fde0f2a0cd6..50185485b81 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/get_element_property/get.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/get_element_property/get.py
@@ -1,8 +1,8 @@
+import pytest
+
from tests.support.asserts import assert_error, assert_success
from tests.support.inline import inline
-_input = inline("<input id=i1>")
-
def get_element_property(session, element_id, prop):
return session.transport.send(
@@ -18,35 +18,90 @@ def test_no_browsing_context(session, closed_window):
def test_element_not_found(session):
- # 13.3 Step 3
- result = get_element_property(session, "foo", "id")
- assert_error(result, "no such element")
+ response = get_element_property(session, "foo", "id")
+ assert_error(response, "no such element")
def test_element_stale(session):
- session.url = _input
+ session.url = inline("<input id=foobar>")
element = session.find.css("input", all=False)
session.refresh()
- result = get_element_property(session, element.id, "id")
- assert_error(result, "stale element reference")
+ response = get_element_property(session, element.id, "id")
+ assert_error(response, "stale element reference")
def test_property_non_existent(session):
- session.url = _input
+ session.url = inline("<input>")
+ element = session.find.css("input", all=False)
+
+ response = get_element_property(session, element.id, "foo")
+ assert_success(response, None)
+ assert session.execute_script("return arguments[0].foo", args=(element,)) is None
+
+
+def test_content_attribute(session):
+ session.url = inline("<input value=foobar>")
element = session.find.css("input", all=False)
- result = get_element_property(session, element.id, "foo")
- assert_success(result, None)
+ response = get_element_property(session, element.id, "value")
+ assert_success(response, "foobar")
+
+
+def test_idl_attribute(session):
+ session.url = inline("<input value=foo>")
+ element = session.find.css("input", all=False)
+ session.execute_script("""arguments[0].value = "bar";""", args=(element,))
+
+ response = get_element_property(session, element.id, "value")
+ assert_success(response, "bar")
+
+
+@pytest.mark.parametrize("js_primitive,py_primitive", [
+ ("\"foobar\"", "foobar"),
+ (42, 42),
+ ([], []),
+ ({}, {}),
+ ("null", None),
+ ("undefined", None),
+])
+def test_primitives(session, js_primitive, py_primitive):
+ session.url = inline("""
+ <input>
+
+ <script>
+ const input = document.querySelector("input");
+ input.foobar = {js_primitive};
+ </script>
+ """.format(js_primitive=js_primitive))
+ element = session.find.css("input", all=False)
+
+ response = get_element_property(session, element.id, "foobar")
+ assert_success(response, py_primitive)
+
+
+@pytest.mark.parametrize("js_primitive,py_primitive", [
+ ("\"foobar\"", "foobar"),
+ (42, 42),
+ ([], []),
+ ({}, {}),
+ ("null", None),
+ ("undefined", None),
+])
+def test_primitives_set_by_execute_script(session, js_primitive, py_primitive):
+ session.url = inline("<input>")
+ element = session.find.css("input", all=False)
+ session.execute_script("arguments[0].foobar = {}".format(js_primitive), args=(element,))
- assert session.execute_script("return arguments[0].foo", args=[element]) is None
+ response = get_element_property(session, element.id, "foobar")
+ assert_success(response, py_primitive)
-def test_element(session):
+def test_mutated_element(session):
session.url = inline("<input type=checkbox>")
element = session.find.css("input", all=False)
element.click()
assert session.execute_script("return arguments[0].hasAttribute('checked')", args=(element,)) is False
- result = get_element_property(session, element.id, "checked")
- assert_success(result, True)
+ response = get_element_property(session, element.id, "checked")
+ assert_success(response, True)
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/get_named_cookie/get.py b/tests/wpt/web-platform-tests/webdriver/tests/get_named_cookie/get.py
index 50a46519168..9ea29c8994e 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/get_named_cookie/get.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/get_named_cookie/get.py
@@ -52,8 +52,8 @@ def test_get_named_cookie(session, url):
# same formatting as Date.toUTCString() in javascript
utc_string_format = "%a, %d %b %Y %H:%M:%S"
- a_year_from_now = (datetime.utcnow() + timedelta(days=365)).strftime(utc_string_format)
- session.execute_script("document.cookie = 'foo=bar;expires=%s'" % a_year_from_now)
+ a_day_from_now = (datetime.utcnow() + timedelta(days=1)).strftime(utc_string_format)
+ session.execute_script("document.cookie = 'foo=bar;expires=%s'" % a_day_from_now)
result = get_named_cookie(session, "foo")
cookie = assert_success(result)
@@ -70,7 +70,7 @@ def test_get_named_cookie(session, url):
assert cookie["value"] == "bar"
# convert from seconds since epoch
assert datetime.utcfromtimestamp(
- cookie["expiry"]).strftime(utc_string_format) == a_year_from_now
+ cookie["expiry"]).strftime(utc_string_format) == a_day_from_now
def test_duplicated_cookie(session, url, server_config):
diff --git a/tests/wpt/web-platform-tests/webmessaging/message-channels/worker-post-after-close.html b/tests/wpt/web-platform-tests/webmessaging/message-channels/worker-post-after-close.html
new file mode 100644
index 00000000000..a2f6d92e9cc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webmessaging/message-channels/worker-post-after-close.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<link rel="help" href="https://html.spec.whatwg.org/multipage/comms.html#messageevent">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+
+async_test(t => {
+ function workerCode() {
+ onmessage = function(e) {
+ close();
+ var mc = new MessageChannel();
+ mc.port1.onmessage = function() {
+ postMessage("message received!");
+ }
+ mc.port2.postMessage(42);
+ postMessage("done");
+ }
+ }
+
+ var workerBlob = new Blob([workerCode.toString() + ";workerCode();"], {type:"application/javascript"});
+
+ var w = new Worker(URL.createObjectURL(workerBlob));
+ w.postMessage('');
+ w.onmessage = function(e) {
+ if (e.data == "done") {
+ setTimeout(function() {
+ t.done();
+ }, 250);
+ } else {
+ assert_true(false, "A wrong message has been received!");
+ }
+ }
+}, 'MessageChannel/MessagePort should not work after a worker self.close()');
+
+</script>
diff --git a/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.html b/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.https.html
index 2bd860d901d..901789109f0 100644
--- a/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.html
+++ b/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-getIdentityAssertion.sub.https.html
@@ -72,14 +72,14 @@
assert_equals(args.origin, window.origin,
'Expect args.origin argument to be the origin of this window');
- assert_equals(env.location,
- `https://${idpHost}/.well-known/idp-proxy/idp-test.js?foo=bar`,
+ assert_equals(env.location.href,
+ `https://${idpHost}/.well-known/idp-proxy/mock-idp.js?foo=bar`,
'Expect IdP proxy to be loaded with full well-known URL constructed from provider and protocol');
- assert_equals(env.origin, `https://${idpHost}`,
+ assert_equals(env.location.origin, `https://${idpHost}`,
'Expect IdP to have its own origin');
- assert_equals(args.options.protocol, 'idp-test.js?foo=bar',
+ assert_equals(args.options.protocol, 'mock-idp.js?foo=bar',
'Expect options.protocol to be the same value as being passed from here');
assert_equals(args.options.usernameHint, `alice@${idpDomain}`,
@@ -114,7 +114,7 @@
const { idp, assertion } = parseAssertionResult(assertionResultStr);
assert_equals(idp.domain, idpDomain2);
assert_equals(idp.protocol, 'foo');
- assert_equals(assertion.options.usernameHint, `alice@${idpDomain2}`);
+ assert_equals(assertion.args.options.usernameHint, `alice@${idpDomain2}`);
});
}, 'getIdentityAssertion() should succeed if mock-idp.js return different domain and protocol in assertion');
@@ -350,12 +350,17 @@
}, 'createOffer() should return SDP containing identity assertion string if identity provider is set');
/*
- 4.4.2. Steps to create an offer
- 1. If the need for an identity assertion was identified when createOffer was
- invoked, wait for the identity assertion request process to complete.
- 2. If the identity provider was unable to produce an identity assertion, reject p
- with a newly created NotReadableError and abort these steps.
- */
+ 6. Requesting Identity Assertions
+
+ The identity assertion request process is triggered by a call to
+ createOffer, createAnswer, or getIdentityAssertion. When these calls are
+ invoked and an identity provider has been set, the following steps are
+ executed:
+
+ ...
+
+ If assertion generation fails, then the promise for the corresponding
+ function call is rejected with a newly created OperationError. */
promise_test(t => {
const pc = new RTCPeerConnection();
const port = window.location.port;
@@ -366,18 +371,10 @@
usernameHint: `alice@${idpDomain}`
});
- return promise_rejects(t, 'NotReadableError',
+ return promise_rejects(t, 'OperationError',
pc.createOffer());
- }, 'createOffer() should reject with NotReadableError if identitity assertion request fails');
-
- /*
- 4.4.2. Steps to create an answer
- 1. If the need for an identity assertion was identified when createAnswer was
- invoked, wait for the identity assertion request process to complete.
+ }, 'createOffer() should reject with OperationError if identity assertion request fails');
- 2. If the identity provider was unable to produce an identity assertion, reject p
- with a newly created NotReadableError and abort these steps.
- */
promise_test(t => {
const pc = new RTCPeerConnection();
const port = window.location.port;
@@ -392,9 +389,9 @@
.createOffer()
.then(offer => pc.setRemoteDescription(offer))
.then(() =>
- promise_rejects(t, 'NotReadableError',
+ promise_rejects(t, 'OperationError',
pc.createAnswer()));
- }, 'createAnswer() should reject with NotReadableError if identitity assertion request fails');
+ }, 'createAnswer() should reject with OperationError if identity assertion request fails');
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-peerIdentity.html b/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-peerIdentity.https.html
index 64ad212a5ba..518d57777aa 100644
--- a/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-peerIdentity.html
+++ b/tests/wpt/web-platform-tests/webrtc-identity/RTCPeerConnection-peerIdentity.https.html
@@ -8,7 +8,7 @@
'use strict';
// Test is based on the following editor draft:
- // https://w3c.github.io/webrtc-pc/archives/20170605/webrtc.html
+ // https://w3c.github.io/webrtc-identity/identity.html
// The tests here interacts with the mock identity provider located at
// /.well-known/idp-proxy/mock-idp.js
@@ -54,7 +54,7 @@
is, there is a current value for peerIdentity ), then this also establishes a
target peer identity.
*/
- promise_test(t => {
+ promise_test(async t => {
const pc1 = new RTCPeerConnection();
t.add_cleanup(() => pc1.close());
const pc2 = new RTCPeerConnection();
@@ -70,51 +70,57 @@
usernameHint: `alice@${idpDomain}`
});
- return pc1.createOffer()
- .then(offer => pc2.setRemoteDescription(offer))
- .then(() => pc2.peerIdentity)
- .then(identityAssertion => {
- const { idp, name } = identityAssertion;
- assert_equals(idp, idpDomain, `Expect IdP domain to be ${idpDomain}`);
- assert_equals(identityAssertion, `alice@${idpDomain}`,
- `Expect validated identity from mock-idp.js to be same as specified in usernameHint`);
- });
+ const peerIdentity = pc2.peerIdentity;
+ await pc2.setRemoteDescription(await pc1.createOffer());
+ const { idp, name } = await peerIdentity;
+ assert_equals(idp, idpHost, `Expect IdP to be ${idpHost}`);
+ assert_equals(name, `alice@${idpDomain}`,
+ `Expect validated identity from mock-idp.js to be same as specified in usernameHint`);
}, 'setRemoteDescription() on offer with a=identity should establish peerIdentity');
/*
- 4.3.2. setRemoteDescription
- The target peer identity cannot be changed once set. Once set, if a different
- value is provided, the user agent MUST reject the returned promise with a newly
- created InvalidModificationError and abort this operation. The RTCPeerConnection
- MUST be closed if the validated peer identity does not match the target peer
- identity.
- */
- promise_test(t => {
+ If the peerIdentity configuration is applied to the RTCPeerConnection, this
+ establishes a target peer identity of the provided value. Alternatively, if the
+ RTCPeerConnection has previously authenticated the identity of the peer (that
+ is, the peerIdentity promise is resolved), then this also establishes a
+ target peer identity.
+
+ The target peer identity cannot be changed once set.
+ */
+ promise_test(async t => {
const port = window.location.port;
const [idpDomain] = getIdpDomains();
const idpHost = hostString(idpDomain, port);
const pc1 = new RTCPeerConnection();
t.add_cleanup(() => pc1.close());
+ pc1.setIdentityProvider(idpHost, {
+ protocol: 'mock-idp.js',
+ usernameHint: `doesnt_matter@${idpDomain}`
+ });
+
const pc2 = new RTCPeerConnection({
peerIdentity: `bob@${idpDomain}`
});
t.add_cleanup(() => pc2.close());
- pc1.setIdentityProvider(idpHost, {
+ pc2.setIdentityProvider(idpHost, {
protocol: 'mock-idp.js',
usernameHint: `alice@${idpDomain}`
});
- return pc1.createOffer()
- .then(offer =>
- promise_rejects(t, 'InvalidModificationError',
- pc2.setRemoteDescription(offer)))
- .then(() => {
- assert_true(pc2.signalingState, 'closed',
- 'Expect peer connection to be closed after mismatch peer identity');
- });
+ const offer = await pc1.createOffer();
+
+ try {
+ await pc2.setRemoteDescription(offer);
+ assert_true(false, "Previous line (sRD) should have thrown!");
+ } catch (e) {
+ assert_equals(e.name, 'InvalidModificationError');
+ }
+
+ assert_true(pc2.signalingState, 'closed',
+ 'Expect peer connection to be closed after mismatch peer identity');
}, 'setRemoteDescription() on offer with a=identity that resolve to value different from target peer identity should reject with InvalidModificationError');
/*
@@ -154,7 +160,7 @@
return pc1.createOffer()
.then(offer => Promise.all([
- promise_rejects(t, 'OperationError',
+ promise_rejects(t, 'IdpError',
pc2.setRemoteDescription(offer)),
promise_rejects(t, 'OperationError',
peerIdentityPromise)
@@ -194,10 +200,10 @@
.then(assertionResultStr => {
const { idp, assertion } = parseAssertionResult(assertionResultStr);
- assert_equals(idp.domain, idpDomain1,
- 'Sanity check domain of assertion is domain1');
+ assert_equals(idp.domain, idpHost1,
+ 'Sanity check domain of assertion is host1');
- assert_equals(assertion.options.usernameHint, `alice@${idpDomain2}`,
+ assert_equals(assertion.args.options.usernameHint, `alice@${idpDomain2}`,
'Sanity check domain1 is going to validate a domain2 identity');
return pc1.createOffer();
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html b/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html
index 4b8d0c2f204..76d3524d6eb 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCDataChannel-send.html
@@ -1,5 +1,6 @@
<!doctype html>
<meta charset=utf-8>
+<meta name="timeout" content="long">
<title>RTCDataChannel.prototype.send</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
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 ffb3fececc4..f2add7f0d34 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-removeTrack.https.html
@@ -292,6 +292,20 @@
assert_equals(transceiver.currentDirection, 'inactive');
}, 'Calling removeTrack with currentDirection inactive should not change direction');
+ promise_test(async t => {
+ const pc = new RTCPeerConnection();
+ t.add_cleanup(() => pc.close());
+ const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
+ const [track] = stream.getTracks();
+ const sender = pc.addTrack(track, stream);
+
+ pc.getTransceivers()[0].stop();
+ pc.removeTrack(sender);
+ assert_equals(sender.track, track);
+ }, "Calling removeTrack on a stopped transceiver should be a no-op");
+
+
/*
TODO
5.1. removeTrack
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html
index e8b3ef5071e..c97021b0fab 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html
@@ -153,9 +153,9 @@
return pc.createOffer()
.then(offer =>
- promise_rejects(t, 'InvalidStateError',
+ promise_rejects(t, 'InvalidModificationError',
pc.setLocalDescription({ type: 'answer', sdp: offer.sdp })));
- }, 'Calling setLocalDescription(answer) from stable state should reject with InvalidStateError');
+ }, 'Calling setLocalDescription(answer) from stable state should reject with InvalidModificationError');
promise_test(t => {
const pc = new RTCPeerConnection();
@@ -167,9 +167,9 @@
pc.setLocalDescription(offer)
.then(() => generateAnswer(offer)))
.then(answer =>
- promise_rejects(t, 'InvalidStateError',
+ promise_rejects(t, 'InvalidModificationError',
pc.setLocalDescription(answer)));
- }, 'Calling setLocalDescription(answer) from have-local-offer state should reject with InvalidStateError');
+ }, 'Calling setLocalDescription(answer) from have-local-offer state should reject with InvalidModificationError');
promise_test(async t => {
const pc1 = new RTCPeerConnection();
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
index f2dbf0b96f3..255419258a3 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
@@ -132,4 +132,31 @@
await pc1.setLocalDescription(offer1);
}, `local offer created before setRemoteDescription(remote offer) then rollback should still be usable`);
+ promise_test(async t => {
+ const pc1 = new RTCPeerConnection();
+ const pc2 = new RTCPeerConnection();
+ t.add_cleanup(() => pc1.close());
+ t.add_cleanup(() => pc2.close());
+
+ const stream = await getNoiseStream({ video: true });
+ t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
+ pc1.addTrack(stream.getTracks()[0], stream);
+
+ // We don't use this right away. pc1 has provisionally decided that the
+ // (only) transceiver is bound to level 0.
+ const offer1 = await pc1.createOffer();
+
+ // Create offer from pc2, apply and rollback on pc1
+ const offer2 = await pc2.createOffer({offerToReceiveAudio: true, offerToReceiveVideo: true});
+ // pc1 now should change its mind about what level its video transceiver is
+ // bound to. It was 0, now it is 1.
+ await pc1.setRemoteDescription(offer2);
+
+ // Rolling back should put things back the way they were.
+ await pc1.setRemoteDescription({type: "rollback"});
+
+ // Then try applying pc1's old offer
+ await pc1.setLocalDescription(offer1);
+ }, "local offer created before setRemoteDescription(remote offer) with different transceiver level assignments then rollback should still be usable");
+
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html
index b5f3c55ee58..0b560d2f26e 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpTransceiver.https.html
@@ -1,5 +1,6 @@
<!doctype html>
<meta charset=utf-8>
+<meta name="timeout" content="long">
<title>RTCRtpTransceiver</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
@@ -990,6 +991,9 @@
]);
hasProps(pc2.getTransceivers(), [{currentDirection: "sendrecv"}]);
+
+ pc2.close();
+ hasProps(pc2.getTransceivers(), [{currentDirection: null}]);
};
const checkSendrecvWithNoSendTrack = async t => {
@@ -1277,8 +1281,10 @@
pc1.close();
pc2.close();
- // Still shouldn't throw
- stoppedTransceiver.stop();
+ // Spec says the closed check comes before the stopped check, so this
+ // should throw now.
+ checkThrows(() => stoppedTransceiver.stop(),
+ "InvalidStateError", "RTCRtpTransceiver.stop() with closed PC");
};
const checkStopAfterCreateOffer = async t => {
@@ -2182,6 +2188,36 @@
"No rejected m-line, because it was reused");
};
+ const checkStopAfterCreateOfferWithReusedMsection = async t => {
+ const pc1 = new RTCPeerConnection();
+ t.add_cleanup(() => pc1.close());
+ const pc2 = new RTCPeerConnection();
+ t.add_cleanup(() => pc2.close());
+
+ const stream = await getNoiseStream({audio: true, video: true});
+ t.add_cleanup(() => stopTracks(stream));
+ const audio = stream.getAudioTracks()[0];
+ const video = stream.getVideoTracks()[0];
+
+ pc1.addTrack(audio, stream);
+ pc1.addTrack(video, stream);
+
+ await offerAnswer(pc1, pc2);
+ pc1.getTransceivers()[1].stop();
+ await offerAnswer(pc1, pc2);
+
+ // Second (video) m-section has been negotiated disabled.
+ const transceiver = pc1.addTransceiver("video");
+ const offer = await pc1.createOffer();
+ transceiver.stop();
+ await pc1.setLocalDescription(offer);
+ await pc2.setRemoteDescription(offer);
+
+ const answer = await pc2.createAnswer();
+ await pc2.setLocalDescription(answer);
+ await pc1.setRemoteDescription(answer);
+ };
+
const tests = [
checkAddTransceiverNoTrack,
checkAddTransceiverWithTrack,
@@ -2217,7 +2253,8 @@ const tests = [
checkLocalRollback,
checkRollbackAndSetRemoteOfferWithDifferentType,
checkRemoteRollback,
- checkMsectionReuse
+ checkMsectionReuse,
+ checkStopAfterCreateOfferWithReusedMsection
].forEach(test => promise_test(test, test.name));
</script>
diff --git a/tests/wpt/web-platform-tests/webrtc/no-media-call.html b/tests/wpt/web-platform-tests/webrtc/no-media-call.html
index 10933fae4c3..dbe6a0dd4c2 100644
--- a/tests/wpt/web-platform-tests/webrtc/no-media-call.html
+++ b/tests/wpt/web-platform-tests/webrtc/no-media-call.html
@@ -14,7 +14,7 @@
<!-- These files are in place when executing on W3C. -->
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
- <script src="/webrtc/RTCPeerConnection-helper.js"></script>
+ <script src="RTCPeerConnection-helper.js"></script>
<script type="text/javascript">
var test = async_test('Can set up a basic WebRTC call with no data.');
diff --git a/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive.https.html b/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive.https.html
index c0b47013f9d..53dd41e3d27 100644
--- a/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive.https.html
@@ -5,10 +5,10 @@
<script src="resources/webxr_util.js"></script>
<script>
xr_promise_test(
- "supportsSessionMode resolves when immersive options supported",
+ "supportsSession resolves when immersive options supported",
() => {
return XRTest.simulateDeviceConnection({ supportsImmersive:true })
- .then( (controller) => navigator.xr.supportsSessionMode('immersive-vr'));
+ .then( (controller) => navigator.xr.supportsSession('immersive-vr'));
});
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive_unsupported.https.html b/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive_unsupported.https.html
index 2b17b96b1bc..0fb44a895d1 100644
--- a/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive_unsupported.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_immersive_unsupported.https.html
@@ -5,14 +5,14 @@
<script src="resources/webxr_util.js"></script>
<script>
xr_promise_test(
- "supportsSessionMode rejects when options not supported",
+ "supportsSession rejects when options not supported",
(t) => {
return XRTest.simulateDeviceConnection({ supportsImmersive:false })
.then( (controller) => {
return promise_rejects(
t,
"NotSupportedError",
- navigator.xr.supportsSessionMode('immersive-vr')
+ navigator.xr.supportsSession('immersive-vr')
);
});
});
diff --git a/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_non_immersive.https.html b/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_non_immersive.https.html
index 69a35c25109..d5191400c44 100644
--- a/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_non_immersive.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrDevice_supportsSession_non_immersive.https.html
@@ -5,12 +5,12 @@
<script src="resources/webxr_util.js"></script>
<script>
xr_promise_test(
- "supportsSessionMode resolves when inline options supported",
+ "supportsSession resolves when inline options supported",
(t) => {
return XRTest.simulateDeviceConnection({ supportsImmersive:true })
.then( (controller) => {
// Inline sessions should be supported.
- return navigator.xr.supportsSessionMode('inline');
+ return navigator.xr.supportsSession('inline');
});
});
</script>