blob: 816565142a5b959f5fde83b39484285fcb0efbbc [file] [log] [blame]
<!DOCTYPE HTML>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<style>
#scroller {
overflow: scroll;
height: 300px;
width: 300px;
background-color: rgba(255,0,0,0.5); /* Force non-promotion due to background opacity */;
}
#scrolled {
height: 1000px;
width: 250px;
background-color: rgba(0,128,0,0.5); /* Force non-promotion due to background opacity */;
}
</style>
<script>
var t = async_test("Check that the preferCompositingToLCDText flag results in compositing");
function isUsingCompositedScrolling(layer) {
layer = layer || JSON.parse(window.internals.layerTreeAsText(document));
if (layer.bounds[1] == 1000)
return true;
if (layer.children) {
for (var i = 0; i < layer.children.length; i++) {
if (isUsingCompositedScrolling(layer.children[i]))
return true;
}
}
return false;
}
window.onload = function() {
t.step(function() {
assert_not_equals(window.internals, null, 'This test requires window.internals');
window.internals.settings.setPreferCompositingToLCDTextEnabled(false);
var stateBefore = isUsingCompositedScrolling();
window.internals.settings.setPreferCompositingToLCDTextEnabled(true);
var stateAfter = isUsingCompositedScrolling();
assert_false(stateBefore, 'Composited scrolling began disabled');
assert_true(stateAfter, 'Composited scrolling became enabled');
t.done();
});
};
</script>
<div id="scroller">
<div id="scrolled"></div>
</div>