blob: 95bdd4938e9ff1902a22468964eb42bee38a1db9 [file] [log] [blame]
<!DOCTYPE html>
<div style="height:200px;width:600px;overflow:scroll">
<div style="position:relative; top: 100px">
<div style="height:400px;margin-bottom:-400px;position:relative">
<div style="width:50px;height:50px;position:absolute;margin:0;left: 400px">
<div id="chip" style="height: 20px; width: 20px; background: lightgray"></span>
</div>
</div>
</div>
</div>
<pre id="output" style="display:none"></pre>
<script>
// Test that updating the position of a LayoutObject that is squashed relative to its squashing container,
// but does not have a Layer, issues the correct repaint rects.
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
var updateFunction = function() {
if (window.internals)
internals.startTrackingRepaints(document);
document.getElementById('chip').style.backgroundColor = "blue";
if (window.internals) {
// Repaint should be at x=400px, since that is the position relative to the squashing layer.
var data = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_INVALIDATIONS);
internals.stopTrackingRepaints(document);
var output = document.getElementById('output');
output.textContent = data;
output.style.display = "block";
}
if (window.testRunner)
testRunner.notifyDone();
};
// Wait two frames before updating the chip's style, so that the document is painted and squashed first.
window.requestAnimationFrame(function() {
window.requestAnimationFrame(updateFunction);
});
</script>