blob: 98510943006419965f8c6ce51be405f5b3473d70 [file] [log] [blame]
<!DOCTYPE>
<html>
<head>
<title>Creating composited layers for fixed position elements</title>
<style type="text/css" media="screen">
#tall {
height: 100px;
}
#fixed {
width: 300px;
height: 100px;
position: fixed;
top: 30px;
right: 5px;
background-color: green;
}
</style>
<script type="text/javascript" charset="utf-8">
if (window.internals)
window.internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true);
function doTest()
{
var layerTreeOutput = '';
// If the fixed position element doesn't have its own stacking context then
// it cannot get a composited layer.
if (window.testRunner)
layerTreeOutput += 'Before (should be empty): \n' + window.internals.layerTreeAsText(document) + '\n';
// Adding a z-index to the fixed position element will give it a stacking context
// and allow it to be composited.
document.getElementById('fixed').style.zIndex = '1';
if (window.testRunner) {
layerTreeOutput += 'After (should not be empty): \n' + window.internals.layerTreeAsText(document);
document.getElementById('layertree').innerText = layerTreeOutput;
testRunner.dumpAsText();
}
// Adding a transform to the container will turn off compositing.
document.getElementById('container').style.webkitTransform = 'translateX(0)';
if (window.testRunner) {
layerTreeOutput += 'After (should be empty): \n' + window.internals.layerTreeAsText(document);
document.getElementById('layertree').innerText = layerTreeOutput;
testRunner.dumpAsText();
}
}
window.addEventListener("load", doTest, false);
</script>
</head>
<body>
<!-- Fixed position element should get its own layer -->
<pre id="layertree"></pre>
<div id="tall"></div>
<div id="container">
<div id="fixed"></div>
</div>
</body>
</html>