blob: ded955c59cffccd20479e46caa2e4dacbc5ae094 [file] [log] [blame]
<html>
<br> <canvas id="normalColors" width="60" height="60"></canvas>
<br> <canvas id="blackColors" width="60" height="60"></canvas>
<script>
function requestAnimationFrameNtimesThen(times, fn) {
if(times>0) {
requestAnimationFrame(() => {
requestAnimationFrameNtimesThen(times-1, fn);
});
} else
fn();
};
if (window.testRunner) {
testRunner.waitUntilDone();
}
// source content as canvas
var htmlCanvas = document.createElement('canvas');
htmlCanvas.width = 60;
htmlCanvas.height = 60;
var htmlCanvasCtx = htmlCanvas.getContext("2d");
htmlCanvasCtx.fillStyle = "blue";
htmlCanvasCtx.fillRect(0, 0, 15, 60);
htmlCanvasCtx.fillStyle = "red";
htmlCanvasCtx.fillRect(15, 0, 45, 30);
htmlCanvasCtx.fillStyle = "green";
htmlCanvasCtx.fillRect(15, 30, 45, 30);
createImageBitmap(htmlCanvas).then(function(bmap){
// This offscreen canvas will be used in several tests
var canNewOffscreen = new OffscreenCanvas(60,60);
var ctxNewOffscreen = canNewOffscreen.getContext("bitmaprenderer");
ctxNewOffscreen.transferFromImageBitmap(bmap);
var outputCanvas = document.getElementById("normalColors");
var outputCanvasRenderer = outputCanvas.getContext("bitmaprenderer");
outputCanvasRenderer.transferFromImageBitmap(canNewOffscreen.transferToImageBitmap());
var outputCanvas = document.getElementById("blackColors");
var outputCanvasRenderer = outputCanvas.getContext("bitmaprenderer");
outputCanvasRenderer.transferFromImageBitmap(canNewOffscreen.transferToImageBitmap());
if (window.testRunner) {
requestAnimationFrameNtimesThen(1, () => {
testRunner.notifyDone();
});
}
});
</script>
</html>