| Index: third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-transferToImageBitmap-texImage2D.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-transferToImageBitmap-texImage2D.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-transferToImageBitmap-texImage2D.html
|
| index 277360f4d1be88ace8e3e0f6ad2f8eb8ce997c63..f350527b9fe70d6c936fd13d267548c2d3747f36 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-transferToImageBitmap-texImage2D.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/offscreenCanvas-transferToImageBitmap-texImage2D.html
|
| @@ -7,14 +7,21 @@
|
| </head>
|
|
|
| <script id='myWorker' type='text/worker'>
|
| -self.onmessage = function(e) {
|
| +function getImageBitmap(webglContext) {
|
| var canvas = new OffscreenCanvas(128, 128);
|
| - var gl = canvas.getContext('webgl');
|
| + var gl = canvas.getContext(webglContext);
|
| gl.clearColor(1.0, 1.0, 0.0, 1.0);
|
| gl.clear(gl.COLOR_BUFFER_BIT);
|
| + return canvas.transferToImageBitmap();
|
| +}
|
| +
|
| +self.onmessage = function(e) {
|
| + var image1 = getImageBitmap("webgl");
|
| + var image2 = getImageBitmap("webgl2");
|
|
|
| - var image = canvas.transferToImageBitmap();
|
| - self.postMessage({bitmap: image}, [image]);
|
| + self.postMessage({ bitmap1: image1,
|
| + bitmap2: image2 },
|
| + [ image1, image2 ]);
|
| };
|
| </script>
|
|
|
| @@ -28,7 +35,7 @@ var pixelFormat = "RGBA";
|
| var pixelType = "UNSIGNED_BYTE";
|
| var blob = new Blob([document.getElementById('myWorker').textContent]);
|
| var worker = new Worker(URL.createObjectURL(blob));
|
| -var bitmap;
|
| +var bitmap1, bitmap2;
|
|
|
| var width = 32;
|
| var height = 32;
|
| @@ -40,19 +47,21 @@ gl.clearColor(0,0,0,1);
|
| gl.clearDepth(1);
|
| gl.disable(gl.BLEND);
|
|
|
| -function checkCanvas(buf, width, height)
|
| +function checkCanvas(buf, width, height, webglContext)
|
| {
|
| for (var i = 0; i < width * height; i++) {
|
| if (buf[i * 4] != 255 || buf[i * 4 + 1] != 255 ||
|
| buf[i * 4 + 2] != 0 || buf[i * 4 + 3] != 255) {
|
| - testFailed("This pixel should be red, but it is: [" + buf[i * 4] + ", " +
|
| + testFailed("OffscreenCanvas." + webglContext +
|
| + ": This pixel should be red, but it is: [" + buf[i * 4] + ", " +
|
| buf[i * 4 + 1] + ", " + buf[i * 4 + 2] + ", " + buf[i * 4 + 3] + "].");
|
| - finishJSTest();
|
| + return;
|
| }
|
| }
|
| + testPassed("TransferToImageBitmap test on OffscreenCanvas." + webglContext + " passed");
|
| }
|
|
|
| -function runTestOnBindingTarget(bindingTarget, program, bitmap)
|
| +function runTestOnBindingTarget(bindingTarget, program, bitmap, webglContext)
|
| {
|
| gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
|
| // Enable writes to the RGBA channels
|
| @@ -77,15 +86,16 @@ function runTestOnBindingTarget(bindingTarget, program, bitmap)
|
|
|
| var buf = new Uint8Array(width * height * 4);
|
| gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
|
| - checkCanvas(buf, width, height);
|
| + checkCanvas(buf, width, height, webglContext);
|
| }
|
| }
|
|
|
| worker.onmessage = function(msg) {
|
| - bitmap = msg.data.bitmap;
|
| + bitmap1 = msg.data.bitmap1;
|
| + bitmap2 = msg.data.bitmap2;
|
| var program = tiu.setupTexturedQuad(gl, internalFormat);
|
| - runTestOnBindingTarget(gl.TEXTURE_2D, program, bitmap);
|
| - testPassed("This test passed");
|
| + runTestOnBindingTarget(gl.TEXTURE_2D, program, bitmap1, "webgl");
|
| + runTestOnBindingTarget(gl.TEXTURE_2D, program, bitmap2, "webgl2");
|
| finishJSTest();
|
| }
|
| worker.postMessage("");
|
|
|