Home | History | Annotate | Download | only in data
      1 <html>
      2 
      3  <head><title>Click noreferrer links</title>
      4  <script>
      5   function simulateClick(target) {
      6     var evt = document.createEvent("MouseEvents");
      7     evt.initMouseEvent("click", true, true, window,
      8                        0, 0, 0, 0, 0, false, false,
      9                        false, false, 0, null);
     10 
     11     return target.dispatchEvent(evt);
     12   }
     13 
     14   function clickNoRefTargetBlankLink() {
     15     return simulateClick(document.getElementById("noref_and_tblank_link"));
     16   }
     17 
     18   function clickSameSiteNoRefTargetedLink() {
     19     return simulateClick(
     20         document.getElementById("samesite_noref_and_targeted_link"));
     21   }
     22 
     23   function clickSameSiteTargetedLink() {
     24     return simulateClick(document.getElementById("samesite_targeted_link"));
     25   }
     26 
     27   function clickSameSiteTargetBlankLink() {
     28     return simulateClick(document.getElementById("samesite_tblank_link"));
     29   }
     30 
     31   function clickTargetBlankLink() {
     32     return simulateClick(document.getElementById("tblank_link"));
     33   }
     34 
     35   function clickNoRefLink() {
     36     return simulateClick(document.getElementById("noref_link"));
     37   }
     38 
     39   function testScriptAccessToWindow() {
     40     // Grab a reference to the existing foo window and access its location.
     41     var w = window.open("", "foo");
     42     var url = w.location.href;
     43     return url != undefined;
     44   }
     45 
     46   function testCloseWindow() {
     47     // Grab a reference to the existing foo window and close it.
     48     var w = window.open("", "foo");
     49     w.close();
     50     return true;
     51   }
     52 
     53   // Listen to incoming messages and reply to them.
     54   var receivedMessages = 0;
     55   window.addEventListener("message", messageReceived, false);
     56   function messageReceived(event) {
     57     receivedMessages++;
     58     event.source.postMessage(event.data, "*");
     59   }
     60  </script>
     61  </head>
     62 
     63 <a href="https://REPLACE_WITH_HOST_AND_PORT/files/title2.html"
     64    id="noref_and_tblank_link" rel="noreferrer" target="_blank">
     65   rel=noreferrer and target=_blank</a><br>
     66 <a href="title2.html" id="samesite_noref_and_targeted_link"
     67    rel="noreferrer" target="foo">
     68   same-site rel=noreferrer and target=foo</a><br>
     69 <a href="navigate_opener.html" id="samesite_targeted_link" target="foo">
     70   same-site target=foo</a><br>
     71 <a href="title2.html" id="samesite_tblank_link" target="_blank">
     72   same-site target=_blank</a><br>
     73 <a href="https://REPLACE_WITH_HOST_AND_PORT/files/title2.html" id="tblank_link"
     74    target="_blank">target=_blank</a><br>
     75 <a href="https://REPLACE_WITH_HOST_AND_PORT/files/title2.html" id="noref_link"
     76    rel="noreferrer">rel=noreferrer</a><br>
     77 
     78 <iframe id="frame1" src="frame_tree/1-1.html"></iframe>
     79 
     80 </html>
     81