<!DOCTYPE html>
<html>
<head>
<style>
body {
overflow: hidden;
}
#perspective {
-webkit-perspective: 1000px;
position: absolute;
width: 600px;
left: -600px;
}
#transformed {
transform: rotateY(90deg);
-webkit-transform-origin: right;
background: green;
height: 800px;
}
#absolute {
/* This could be relative too, it just needs to be out of flow. */
position: absolute;
}
#container {
position: relative;
overflow: hidden;
width: 800px;
height: 600px;
}
</style>
<script>
function doTest() {
var transformed = document.getElementById("transformed");
if (window.internals)
internals.forceCompositingUpdate(document);
// Request a recomposite of the layer.
transformed.style.opacity = 0.9;
document.body.offsetTop;
transformed.style.opacity = 1.0;
if (window.internals)
internals.forceCompositingUpdate(document);
}
window.onload = doTest;
</script>
</style>
</head>
<body>
<!-- The green rectangle should be visible. -->
<div id="container">
<div id="perspective">
<div id="transformed"></div>
<div id="absolute"></div>
</div>
</div>
</body>
</html>