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>