<!doctype html>
<title>Link with target=_blank, rel=noreferrer</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<a href="001-1.html" rel="noreferrer" target="_blank">Link</a>
<script>
var t = async_test();
var a;
t.step(function() {
  a = document.getElementsByTagName("a")[0];
  a.click();
  //This is a bit hacky; if the test passes there isn't a link back to the parent
  //window so we have to pass on a timeout. But opening the link could be slow in
  //some cases, so there is some possibility of false passes
  setTimeout(t.step_func(function() {
               t.done();
             }), 1000);
});

onmessage = t.step_func(function() {assert_unreached("Opened window had a reference to opener")});
</script>
