author Matt Woodrow <>
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"
<div id="log"></div>
function runTest() {
    // Change visible region of |closure| element.
    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,,
	  "it should be |target| element if visible regions of closure is correct");
    }, 0);


.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;
<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>