tor-browser

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

a.rel-noopener-policy.html (2500B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4  <meta charset=utf-8>
      5  <meta name="timeout" content="long">
      6  <title>Test behavior of target=_blank links</title>
      7  <script src=/resources/testharness.js></script>
      8  <script src=/resources/testharnessreport.js></script>
      9 </head>
     10 <body>
     11  <svg>
     12    <a href="resources/a.rel-noopener-policy-target.html?a1" id="a1" rel="noopener" target="_blank">Click me</a>
     13    <a href="resources/a.rel-noopener-policy-target.html?a2" id="a2" rel="opener" target="_blank">Click me</a>
     14    <a href="resources/a.rel-noopener-policy-target.html?a3" id="a3" target="_blank">Click me</a>
     15    <a href="resources/a.rel-noopener-policy-target.html?a4" id="a4" rel="opener noopener" target="_blank">Click me</a>
     16    <a href="resources/a.rel-noopener-policy-target.html?a5" id="a5" rel="noopener opener" target="_blank">Click me</a>
     17    <a href="resources/a.rel-noopener-policy-target.html?a6" id="a6" rel="noreferrer" target="_blank">Click me</a>
     18    <a href="resources/a.rel-noopener-policy-target.html?a7" id="a7" rel="opener noreferrer" target="_blank">Click me</a>
     19    <a href="resources/a.rel-noopener-policy-target.html?a8" id="a8" rel="noopener opener noreferrer" target="_blank">Click me</a>
     20  </svg>
     21  <script>
     22 
     23  let tests = [
     24    { id: "a1", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noopener" },
     25    { id: "a2", hasOpener: true, name: "SVG Anchor element with target=_blank with rel=opener" },
     26    { id: "a3", hasOpener: false, name: "SVG Anchor element with target=_blank with implicit rel=noopener" },
     27    { id: "a4", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=opener+noopener" },
     28    { id: "a5", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noopener+opener" },
     29    { id: "a6", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noreferrer" },
     30    { id: "a7", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=opener+noreferrer" },
     31    { id: "a8", hasOpener: false, name: "SVG Anchor element with target=_blank with rel=noopener+opener+noreferrer" },
     32  ];
     33 
     34  tests.forEach(data => {
     35    async_test(
     36      test => {
     37        let bc = new BroadcastChannel(data.id);
     38        bc.addEventListener("message", test.step_func_done(e => {
     39          assert_equals(e.data.hasOpener, data.hasOpener);
     40        }), {once: true});
     41 
     42        document.getElementById(data.id).dispatchEvent(new MouseEvent('click'));
     43      }, data.name);
     44  });
     45  </script>
     46 </body>
     47 </html>