<!DOCTYPE html>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script src="resources/text-based-repaint.js"></script>
<style>
[id^="target"] {
width: 60px;
height: 40px;
margin: 10px;
background: blue;
border: 1px solid blue;
box-sizing: border-box;
}
</style>
<div id="target1"></div>
<div id="target2" style="will-change: transform"></div>
<div style="will-change: transform; width: 150px; height: 150px; background: yellow">
<div id="target3" style="position: relative; top: 70px; left: 30px"></div>
</div>
<div id="scroller" style="will-change: transform; width: 150px; height: 150px; overflow: scroll">
<div style="width: 4000px; height: 20000px"></div>
<div id="target4" style="position: relative; top: -10000px; left: 30px"></div>
</div>
<script>
window.testIsAsync = true;
function repaintTest() {
if (window.internals)
internals.simulateRasterUnderInvalidations(true);
document.querySelectorAll('[id^="target"]').forEach(function(e) {
e.style.background = 'green';
e.style.borderColor = 'green';
});
runAfterLayoutAndPaint(function() {
if (window.internals)
internals.simulateRasterUnderInvalidations(false);
finishRepaintTest();
});
};
onload = function() {
scroller.scrollTop = 9950;
scroller.scrollLeft = 50;
runRepaintAndPixelTest();
}
</script>