blob: 232bcf41800e530eeaf1ba986d70e937027692cb [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#container {
position: relative;
width: 400px;
height: 100px;
border: 1px solid black;
}
.box {
position: absolute;
width: 100px;
height: 100px;
background-color: green;
}
.indicator {
left: 150px;
top: 0;
background-color: red;
}
#container.moved .software {
left: 300px;
}
#container.moved .hardware {
transform: translateX(300px);
}
.hardware {
transform-style: preserve-3d;
transition: transform 300ms linear;
transform: translateX(0);
}
</style>
<script type="text/javascript">
'use strict';
function waitForCompositor() {
var container = document.getElementById('container');
return container.animate({opacity: [1, 1]}, 1).ready;
}
function testEnded()
{
var testDiv = document.getElementById('tester');
testDiv.style.transitionProperty = 'none';
testDiv.style.transitionDuration = '0';
testDiv.style.transform = 'translateX(150px)';
waitForCompositor().then(() => {
if (window.testRunner)
testRunner.notifyDone();
});
}
function startTest()
{
if (window.testRunner)
testRunner.waitUntilDone();
document.body.offsetHeight; // Force style recalc
document.getElementById('tester').addEventListener('transitionend', testEnded, false);
document.getElementById('container').className = 'moved';
}
window.addEventListener('load', startTest, false);
</script>
</head>
<body>
<p>At the end of the test the green box should obscure the red box.</p>
<div id="container">
<div class="indicator box"></div>
<div id="tester" class="hardware box"></div>
</div>
<div id="result">
</div>
</body>
</html>