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>