| <!DOCTYPE HTML> |
| <script src="../resources/js-test.js"></script> |
| <style> |
| #scroller { |
| overflow: scroll; |
| height: 300px; |
| width: 300px; |
| background-color: red; |
| } |
| |
| #scrolled { |
| height: 1000px; |
| width: 250px; |
| background-color: green; |
| } |
| </style> |
| |
| <script> |
| jsTestIsAsync = true; |
| |
| description('This test checks that changes to the compositor\'s settings are applied correctly.'); |
| |
| 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() { |
| if (!window.internals) { |
| testFailed('This test requires window.internals'); |
| return; |
| } |
| window.internals.settings.setPreferCompositingToLCDTextEnabled(false); |
| var stateBefore = isUsingCompositedScrolling(); |
| window.internals.settings.setPreferCompositingToLCDTextEnabled(true); |
| var stateAfter = isUsingCompositedScrolling(); |
| |
| if (!stateBefore && stateAfter) { |
| testPassed('Composited scrolling became enabled.'); |
| } else { |
| testFailed('Composited scrolling did not become enabled: ' + stateBefore + ", " + stateAfter); |
| } |
| finishJSTest(); |
| }; |
| </script> |
| |
| <div id="scroller"> |
| <div id="scrolled"></div> |
| </div> |