Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!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() {
// Make sure we have boxes constructed already.
document.body.offsetWidth;
var overlay = document.querySelector("#overlay");
overlay.insertBefore(document.createElement("div"), overlay.firstChild);
overlay.appendChild(document.createElement("div"));
// Make sure we have boxes constructed for those inserts/appends
document.body.offsetWidth;
overlay.firstChild.nextSibling.remove();
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>