<style>
body {
overflow: hidden;
}
.composited {
will-change: transform;
}
.box {
width: 100px;
height: 100px;
background-color: blue;
}
img {
background-color: black;
width: 100px;
height: 100px;
border: none !important;
}
div.inline {
width: 100px;
height: 100px;
background-color: red;
}
img.to-visible {
visibility: hidden;
}
body.changed img.to-visible {
visibility: visible;
}
img.to-hidden {
visibility: visible;
}
body.changed img.to-hidden {
visibility: hidden;
}
#layers {
opacity: 0; /* hide from pixel result */
}
.box {
width: 100px;
height: 100px;
background-color: green;
}
.indicator {
position: absolute;
left: 0;
z-index: 1;
}
</style>
<script>
if (window.testRunner) {
testRunner.dumpAsTextWithPixelResults();
testRunner.waitUntilDone();
}
function doTest()
{
window.setTimeout(function() {
document.body.classList.add('changed');
if (window.testRunner) {
document.getElementById('layers').innerText = internals.layerTreeAsText(document);
testRunner.notifyDone();
}
}, 0);
}
window.addEventListener('load', doTest, false);
</script>
<body>
<!-- You should see no red. -->
<div class="indicator box" style="top: 0px"></div>
<div class="indicator box" style="top: 250px"></div>
<div style="position: absolute; left: 0px; top: 0px; z-index: 0; " class="composited">
<div class="inline"></div>
<img style="position: absolute; left: 50px; top: 50px; z-index: -1;">
<img style="position: absolute; left: 400px; top: 150px; z-index: 0;" class="to-visible">
</div>
<div style="position: absolute; left: 0px; top: 250px; z-index: 0; " class="composited">
<div class="inline"></div>
<img style="position: absolute; left: 50px; top: 50px; z-index: -1;">
<img style="position: absolute; left: 400px; top: 150px; z-index: 0;" class="to-hidden">
</div>
<pre id="layers">Layer tree goes here in DRT</pre>
</body>