diff options
Diffstat (limited to 'testing/web-platform/tests/html/canvas/element/manual/imagebitmap/imageBitmapRendering-transferFromImageBitmap-webgl.html')
-rw-r--r-- | testing/web-platform/tests/html/canvas/element/manual/imagebitmap/imageBitmapRendering-transferFromImageBitmap-webgl.html | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/canvas/element/manual/imagebitmap/imageBitmapRendering-transferFromImageBitmap-webgl.html b/testing/web-platform/tests/html/canvas/element/manual/imagebitmap/imageBitmapRendering-transferFromImageBitmap-webgl.html new file mode 100644 index 0000000000..049a3822cd --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/imagebitmap/imageBitmapRendering-transferFromImageBitmap-webgl.html @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<link rel="match" href="imageBitmapRendering-transferFromImageBitmap-webgl-expected.html" /> + +<body> + <p> + Test creating an ImageBitmap from the transferToImageBitmap of a webgl OffscreenCanvas, and then + transferred to an ImageBitmapRenderingContext. + </p> + <canvas id="canvas" width="300" height="300"></canvas> +</body> +<script> + + function drawSquares(ctx) { + ctx.enable(ctx.SCISSOR_TEST); + ctx.scissor(0, 150, 150, 150); + ctx.clearColor(1, 0, 0, 1); + ctx.clear(ctx.COLOR_BUFFER_BIT); + ctx.scissor(150, 150, 300, 150); + ctx.clearColor(0, 1, 0, 1); + ctx.clear(ctx.COLOR_BUFFER_BIT); + ctx.scissor(0, 0, 150, 150); + ctx.clearColor(0, 0, 1, 1); + ctx.clear(ctx.COLOR_BUFFER_BIT); + } + + async function runTest() { + const offscreen = new OffscreenCanvas(300, 300); + const ctxOffscreen = offscreen.getContext('webgl'); + drawSquares(ctxOffscreen); + const image = offscreen.transferToImageBitmap(); + const canvas = document.getElementById('canvas'); + const ctx = canvas.getContext('bitmaprenderer'); + ctx.transferFromImageBitmap(image); + } + + runTest(); + +</script> |