blob: bfe5b97b78ce59300e332ec0f4704af25584b3c8 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>Test if the users can change Image Rendering Quality in Offscreen Canvas</title>
<style type="text/css">
#can {
width: 500px;
height: 500px;
image-rendering: pixelated;
}
</style>
</head>
<body>
<canvas id="can" width="50" height="50"></canvas>
<script>
const c2 = document.getElementById("can");
const offscreen_canvas = c2.transferControlToOffscreen();
const ctx_o = offscreen_canvas.getContext('2d');
c2.style.imageRendering = "auto";
ctx_o.clearRect(0, 0, 50, 50);
ctx_o.fillRect(10, 10, 30, 30);
function waitForCanvasToDraw() {
return new Promise(resolve => {
const testPixel = function() {
const d = ctx_o.getImageData(20, 20, 1, 1);
if (d.data[0] == 0 && d.data[3] == 255) {
setTimeout(resolve, 2000);
} else {
requestAnimationFrame(testPixel);
}
}
testPixel();
})
}
if (window.testRunner) {
testRunner.waitUntilDone();
}
waitForCanvasToDraw().then(() => {
if (window.testRunner) {
testRunner.notifyDone();
}
}).catch(err => {
testRunner.notifyDone();
throw err;
});
</script>
</body>
</html>