blob: 36d0d7bd90bc7986678578af22265b57524a24a7 [file] [log] [blame]
<canvas style="width:100px; height:100px;">
<script type="text/javascript">
if (window.testRunner)
testRunner.waitUntilDone();
const canvas = document.querySelector("canvas");
function draw() {
// For the purpose of this test, we want the backing store metrics to
// not match the layout metrics.
const scaleFactor = 2;
canvas.width = canvas.clientWidth * scaleFactor;
canvas.height = canvas.clientHeight * scaleFactor;
const gl = canvas.getContext("webgl");
gl.clearColor(0, 0, 0, 1);
gl.clear(gl.COLOR_BUFFER_BIT);
}
// Size the canvas once at the initial 100px by 100px size.
draw();
// Now change the layout size of the canvas and in the next animation
// frame, after we know the layout size has taken effect, change the
// size of the backing store.
canvas.style.width = "50px";
canvas.style.height = "50px";
requestAnimationFrame(function() {
draw();
if (window.testRunner) {
// Need to give the test system at least a frame to paint
// after the draw() command, because notifyDone forces a
// dump() and we're inside a rAF (which means it won't
// do any of the post-layout/drawing work in Page::doAfterUpdateRendering)
requestAnimationFrame(function() {
testRunner.notifyDone();
});
}
});
</script>
</canvas>