2 <div style=
"height:200px;width:600px;overflow:scroll">
3 <div style=
"position:relative; top: 100px">
4 <div style=
"height:400px;margin-bottom:-400px;position:relative">
5 <div style=
"width:50px;height:50px;position:absolute;margin:0;left: 400px">
6 <div id=
"chip" style=
"height: 20px; width: 20px; background: lightgray"></span>
12 <pre id=
"output" style=
"display:none"></pre>
14 // Test that updating the position of a LayoutObject that is squashed relative to its squashing container,
15 // but does not have a Layer, issues the correct repaint rects.
16 if (window
.testRunner
) {
17 testRunner
.dumpAsText();
18 testRunner
.waitUntilDone();
20 var updateFunction = function() {
22 window
.internals
.startTrackingRepaints(document
);
24 document
.getElementById('chip').style
.backgroundColor
= "blue";
26 if (window
.internals
) {
27 // Repaint should be at x=400px, since that is the position relative to the squashing layer.
28 var data
= window
.internals
.layerTreeAsText(document
, internals
.LAYER_TREE_INCLUDES_REPAINT_RECTS
);
29 window
.internals
.stopTrackingRepaints(document
);
31 var output
= document
.getElementById('output');
32 output
.textContent
= data
;
33 output
.style
.display
= "block";
36 if (window
.testRunner
)
37 testRunner
.notifyDone();
40 // Wait two frames before updating the chip's style, so that the document is painted and squashed first.
41 window
.requestAnimationFrame(function() {
42 window
.requestAnimationFrame(updateFunction
);