6 window.testRunner.dumpAsText();
8 if (window.internals) {
9 window.internals.settings.setPreferCompositingToLCDTextEnabled(false);
12 function hasScrollbarRepaint(layerTree)
14 return hasScrollbarRepaintHelper(JSON.parse(layerTree));
17 function hasScrollbarRepaintHelper(jsonLayerTree) {
18 var repaintRects = jsonLayerTree["repaintRects"];
20 for (var i = 0; i < repaintRects.length; ++i) {
21 var width = repaintRects[i][2];
22 var height = repaintRects[i][3];
23 if (width == 15 && height == 285)
27 var children = jsonLayerTree["children"];
29 for (var i = 0; i < children.length; i++) {
30 if (hasScrollbarRepaintHelper(children[i]))
37 function testRepaint() {
39 var container = document.getElementById("container");
41 document.body.offsetTop;
44 window.internals.startTrackingRepaints(document);
46 container.scrollTop = 100;
48 if (window.internals) {
49 if (hasScrollbarRepaint(window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS)))
50 result += "PASS repainted when expected\n";
52 result += "FAIL did not repaint when expected\n";
53 window.internals.stopTrackingRepaints(document);
56 var pre = document.createElement('pre');
57 document.body.appendChild(pre);
58 pre.innerHTML = result;
59 if (!window.internals)
60 document.getElementById("description").style.display = "block";
63 window.onload = testRepaint;
69 box-shadow: inset 3px 3px 10px grey;
71 border: 1px black solid;
74 -webkit-backface-visibility: hidden;
87 background-color: green;
96 <pre id="description">
97 This test ensures that the logic for ensuring that we don't repaint when
98 scrolling composited layers works correctly in the face of neg z-order
103 <div class="scrolled"></div>
104 <div class="scrolled"></div>
105 <div class="scrolled"></div>
106 <div class="scrolled"></div>
107 <div class="scrolled"></div>
108 <div class="scrolled"></div>
109 <div class="scrolled"></div>