1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87

content / test / data / simple_links.html [blame]

<html>

 <head><title>Simple links</title>
 <script>
  function simulateClick(target) {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", true, true, window,
                       0, 0, 0, 0, 0, false, false,
                       false, false, 0, null);

    return target.dispatchEvent(evt);
  }

  function setPortNumber(portNumber) {
    var link = document.getElementById("cross_site_link");
    link.setAttribute("href", "http://foo.com:" + portNumber + "/title2.html");

    link = document.getElementById("cross_site_new_window_link");
    link.setAttribute("href", "http://foo.com:" + portNumber + "/title2.html");

    link = document.getElementById("cross_site_new_window_no_opener_link");
    link.setAttribute("href", "http://foo.com:" + portNumber + "/title2.html");
    return true;
  }

  function clickSameSiteLink() {
    return simulateClick(document.getElementById("same_site_link"));
  }

  function clickSameSiteNewWindowLink() {
    return simulateClick(document.getElementById("same_site_new_window_link"));
  }

  function clickSameSiteNewWindowWithNoopenerLink() {
    return simulateClick(document.getElementById("same_site_new_window_with_noopener_link"));
  }

  function clickSameSiteNewWindowWithOpenerLink() {
    return simulateClick(document.getElementById("same_site_new_window_with_opener_link"));
  }

  function clickCrossSiteLink() {
    return simulateClick(document.getElementById("cross_site_link"));
  }

  function clickCrossSiteNewWindowLink() {
    return simulateClick(document.getElementById("cross_site_new_window_link"));
  }

  function clickCrossSiteNewWindowNoOpenerLink() {
    return simulateClick(document.getElementById("cross_site_new_window_no_opener_link"));
  }

  function clickViewSourceLink() {
    return simulateClick(document.getElementById("view_source_link"));
  }

  function clickLinkToSelf() {
    return simulateClick(document.getElementById("link_to_self_opener"));
  }

  function clickLinkToSelfNoOpener() {
    return simulateClick(document.getElementById("link_to_self_no_opener"));
  }

  function clickGoogleChromeLink() {
    return simulateClick(document.getElementById("google_chrome_link"));
  }
 </script>
 </head>

<a href="title2.html" id="same_site_link">same-site</a><br>
<a href="http://foo.com/title2.html" id="cross_site_link">cross-site</a><br>
<a href="view-source:about:blank" id="view_source_link">view-source:</a><br>
<a href="title2.html" id="same_site_new_window_link" target="_blank">same-site new window</a>
<a href="title2.html" id="same_site_new_window_with_noopener_link" rel="noopener" target="_blank">same-site new window with noopener</a>
<a href="title2.html" id="same_site_new_window_with_opener_link" rel="opener" target="_blank">same-site new window with opener</a>
<a href="http://foo.com/title2.html" id="cross_site_new_window_link" rel="opener" target="_blank">cross-site new window</a>
<a href="http://foo.com/title2.html" id="cross_site_new_window_no_opener_link" rel="noopener" target="_blank">cross-site new window no opener</a>
<a href="" id="link_to_self_opener" rel="opener" target="_blank">self new window_opener</a>
<a href="" id="link_to_self_no_opener" rel="noopener" target="_blank">self new window_noopener</a>
<script>
  document.getElementById("link_to_self_opener").href = window.location.toString();
  document.getElementById("link_to_self_no_opener").href = window.location.toString();
</script>
<a href="googlechrome://" id="google_chrome_link">googlechrome:</a></br>
</html>