dom/tests/mochitest/general/test_bug1313753.html
author Matt Woodrow <mwoodrow@mozilla.com>
Thu, 08 Jun 2017 15:24:03 +1200
changeset 411052 a3eec11c6b37419b1a700b2873d5a66b0db1e62d
parent 390250 28f9476b0dc32e087f651cbcd428f5382b52fd14
child 411061 6a84d1b254338f398a9558b886c0ca31a94e7874
permissions -rw-r--r--
Bug 1359709 - Use the DOM-ordering parent frame when deciding if a frame combines its transform with ancestors. r=dbaron

<!DOCTYPE html>
<meta charset=utf-8>
<title>Test for bug 1313753</title>
<script type="application/javascript"
        src="/tests/SimpleTest/SimpleTest.js"></script>
<div id="log"></div>
<script>
function runTest() {
    // Change visible region of |closure| element.
    document.getElementById("target").classList.add("rotate");
    window.setTimeout(function() {
	var target = document.getElementById("target");
	var bounds = target.getBoundingClientRect();
	var x = bounds.x + bounds.width / 2;
	var y = bounds.y + bounds.height / 2;
	is(document.elementFromPoint(x, y).id, target.id,
	  "it should be |target| element if visible regions of closure is correct");
	SimpleTest.finish();
    }, 0);
}

SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(runTest);
</script>

<style>
.panel {
    transform: rotateX(-150deg);
    backface-visibility: hidden;
    transform-origin: 0px 0px;
    position: absolute;
    display: block;
    width: 100px;
    height: 100px;
    background-color: green;
}
#closure .rotate {
    transform: rotateX(0deg);
}
#closure {
    perspective: 100px;
    width: 200px;
    z-index: 1;
}
#outer {
    height: 400px;
    width: 200px;
}
</style>
<div id="outer">
  <div id="closure">
    <div style="transform-style: preserve-3d;">
	<div style="transform-style: preserve-3d; background-color: blue;">
	  <ul style="transform-style: preserve-3d;">
	    <li style="transform-style:preserve-3d;"><div id="target" class="panel"></div>
	    </li>
	  </ul>
	</div>
    </div>
  </div>
</div>