tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit d3763246899985b5eaf6fede1716e350b44aeaa2
parent 7f22f480b56a89f79ed3b79778ec52616117e392
Author: Luke Warlow <lwarlow@igalia.com>
Date:   Thu,  9 Oct 2025 20:33:17 +0000

Bug 1987852 [wpt PR 54784] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=298620, a=testonly

Automatic update from web-platform-tests
Improve tests for SVGAElement rel and relList

--

wpt-commits: dfa98f27f6385cac162ace2832e23a2e6d745084
wpt-pr: 54784

Diffstat:
Mtesting/web-platform/tests/svg/linking/scripted/a.rel-noopener-policy.html | 59++++++++++++++++++++++++++++++++++++++++++-----------------
Mtesting/web-platform/tests/svg/linking/scripted/rellist-feature-detection.svg | 2+-
Mtesting/web-platform/tests/svg/linking/scripted/resources/a.rel-noopener-policy-target.html | 10+++-------
3 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/testing/web-platform/tests/svg/linking/scripted/a.rel-noopener-policy.html b/testing/web-platform/tests/svg/linking/scripted/a.rel-noopener-policy.html @@ -1,22 +1,47 @@ <!DOCTYPE html> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<link rel="author" title="Divyansh Mangal" href="mailto:dmangal@microsoft.com"> -<link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"> -<title> Rel attribute with noopener value </title> -<svg> - <a id="test" href="resources/a.rel-noopener-policy-target.html" rel="noopener"></a> +<html> +<head> + <meta charset=utf-8> + <meta name="timeout" content="long"> + <title>Test behavior of target=_blank links</title> + <script src=/resources/testharness.js></script> + <script src=/resources/testharnessreport.js></script> +</head> +<body> + <svg> + <a href="resources/a.rel-noopener-policy-target.html?a1" id="a1" rel="noopener" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a2" id="a2" rel="opener" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a3" id="a3" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a4" id="a4" rel="opener noopener" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a5" id="a5" rel="noopener opener" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a6" id="a6" rel="noreferrer" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a7" id="a7" rel="opener noreferrer" target="_blank">Click me</a> + <a href="resources/a.rel-noopener-policy-target.html?a8" id="a8" rel="noopener opener noreferrer" target="_blank">Click me</a> + </svg> <script> - var anchorElement = document.getElementById('test'); - // Simulate a click event - var event = new MouseEvent('click', { - view: window, - bubbles: true, - cancelable: true - }); + let tests = [ + { id: "a1", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noopener" }, + { id: "a2", hasOpener: true, name: "SVG Anchor element with target=_blank with rel=opener" }, + { id: "a3", hasOpener: false, name: "SVG Anchor element with target=_blank with implicit rel=noopener" }, + { id: "a4", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=opener+noopener" }, + { id: "a5", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noopener+opener" }, + { id: "a6", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noreferrer" }, + { id: "a7", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=opener+noreferrer" }, + { id: "a8", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noopener+opener+noreferrer" }, + ]; - // Dispatch the event to the anchor element - anchorElement.dispatchEvent(event); + tests.forEach(data => { + async_test( + test => { + let bc = new BroadcastChannel(data.id); + bc.addEventListener("message", test.step_func_done(e => { + assert_equals(e.data.hasOpener, data.hasOpener); + }), {once: true}); + + document.getElementById(data.id).dispatchEvent(new MouseEvent('click')); + }, data.name); + }); </script> -</svg> +</body> +</html> diff --git a/testing/web-platform/tests/svg/linking/scripted/rellist-feature-detection.svg b/testing/web-platform/tests/svg/linking/scripted/rellist-feature-detection.svg @@ -11,7 +11,7 @@ let link_support_table = {}; // https://html.spec.whatwg.org/multipage/links.html#linkTypes link_support_table['a'] = { - supported : ['noreferrer', 'noopener'], + supported : ['noreferrer', 'noopener', 'opener'], unsupported : ['author', 'bookmark', 'external', 'help', 'license', 'nofollow', 'pingback', 'prev', 'search', 'tag', 'modulepreload', 'preload', 'preconnect', 'dns-prefetch', diff --git a/testing/web-platform/tests/svg/linking/scripted/resources/a.rel-noopener-policy-target.html b/testing/web-platform/tests/svg/linking/scripted/resources/a.rel-noopener-policy-target.html @@ -1,10 +1,6 @@ <!DOCTYPE html> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<link rel="author" title="Divyansh Mangal" href="mailto:dmangal@microsoft.com"> -<link rel="help" href="https://svgwg.org/svg2-draft/linking.html#InterfaceSVGAElement"> <script> - test(function () { - assert_equals(true,window.opener == null); - }, "No Opener policy attribute on svg anchor element is applied"); + let bc = new BroadcastChannel(window.location.search.substring(1)); + bc.postMessage({ hasOpener: opener !== null }); + window.close(); </script>