blob: 0a5d7b051a6e0a5f62f5b999c4dfbe2a1f0c4a3b [file] [log] [blame]
<!-- webkit-test-runner [ useThreadedScrolling=false ] -->
<!DOCTYPE html>
<!--
This test checks that accelerated scrolling layers can be scrolled without
repainting their contents. See https://bugs.webkit.org/show_bug.cgi?id=96087.
-->
<html>
<head>
<style type="text/css">
#scroller {
overflow: scroll;
-webkit-overflow-scrolling: touch;
width: 200px;
height: 200px;
border: solid thin blue;
}
#content {
height: 1000px;
margin-top: 25px;
}
</style>
<script type="text/javascript">
if (window.internals)
window.internals.settings.setAcceleratedCompositingForOverflowScrollEnabled(true);
window.addEventListener('load', function() {
if (!window.testRunner || !window.internals) {
alert('This test requires testRunner to run!');
return;
}
testRunner.dumpAsText(false);
// First paint the entire view including the scrolling element.
var scroller = document.getElementById('scroller');
scroller.offsetTop;
// Scroll down. This should not cause any more repaints to the
// scrolling contents.
window.internals.startTrackingRepaints();
scroller.scrollTop = 25;
var layerTree = document.getElementById('layerTree');
layerTree.innerText =
window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS);
window.internals.stopTrackingRepaints();
});
</script>
</head>
<body>
<div id="scroller">
<div id="content"></div>
</div>
<pre id="layerTree">This text will be replaced with the layer tree.</pre>
</body>
</html>