<!doctype html>
<meta charset=utf-8>
<title>Checking whether dynamic changes to visibility interact correctly with
  table anonymous boxes</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
#overlay {
  display: table;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 999
}

#wrapper { position: relative; }
</style>
<div id=log></div>
<div id="wrapper">
  <div id="overlay"><div></div></div>
  <div id="target">Some text</div>
</div>
<script>
  test(function() {
    var t = document.querySelector("#target");
    var rect = t.getBoundingClientRect();
    var hit = document.elementFromPoint(rect.x + rect.width/2,
                                        rect.y + rect.height/2);
    assert_equals(hit, t.previousElementSibling,
                  "Should hit the overlay first.");
    t.previousElementSibling.style.visibility = "hidden";
    hit = document.elementFromPoint(rect.x + rect.width/2,
                                    rect.y + rect.height/2);
    assert_equals(hit, t,
                  "Should hit our target now that the overlay is hidden.");
  });
</script>
