| Index: third_party/WebKit/LayoutTests/fast/canvas/imagebitmap/transferFromImageBitmap-nullability.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/imagebitmap/transferFromImageBitmap-nullability.html b/third_party/WebKit/LayoutTests/fast/canvas/imagebitmap/transferFromImageBitmap-nullability.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..21d0ce53f8500a1bdc350fd4ad41eedd301932c0
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/imagebitmap/transferFromImageBitmap-nullability.html
|
| @@ -0,0 +1,65 @@
|
| +<!DOCTYPE html>
|
| +<script src="../../../resources/testharness.js"></script>
|
| +<script src="../../../resources/testharnessreport.js"></script>
|
| +<script>
|
| +
|
| +function testCanvas_0f0(ctx) {
|
| + var colorData = ctx.getImageData(50, 50, 1, 1).data;
|
| + assert_equals(colorData[0], 0);
|
| + assert_equals(colorData[1], 255);
|
| + assert_equals(colorData[2], 0);
|
| + assert_equals(colorData[3], 255);
|
| +}
|
| +
|
| +function testCanvasReset(ctx) {
|
| + var colorData = ctx.getImageData(50, 50, 1, 1).data;
|
| + assert_equals(colorData[0], 0);
|
| + assert_equals(colorData[1], 0);
|
| + assert_equals(colorData[2], 0);
|
| + assert_equals(colorData[3], 0);
|
| +}
|
| +
|
| +function testTransferFromImageBitmapNullability(image) {
|
| + var bitmapCanvas = document.createElement('canvas');
|
| + bitmapCanvas.width = bitmapCanvas.height = 100;
|
| + var bitmapCtx = bitmapCanvas.getContext('bitmaprenderer');
|
| + bitmapCtx.transferFromImageBitmap(image);
|
| +
|
| + // Make sure the bitmap renderer canvas is filled correctly.
|
| + var myCanvas = document.createElement('canvas');
|
| + myCanvas.width = myCanvas.height = 100;
|
| + var myCtx = myCanvas.getContext('2d');
|
| + myCtx.drawImage(bitmapCanvas, 0, 0);
|
| + testCanvas_0f0(myCtx);
|
| +
|
| + // Test if passing null resets the bitmap renderer canvas.
|
| + // Drawing the resetted canvas cannot change the destination canvas.
|
| + bitmapCtx.transferFromImageBitmap(null);
|
| + var myCanvas2 = document.createElement('canvas');
|
| + myCanvas2.width = myCanvas2.height = 100;
|
| + var myCtx2 = myCanvas2.getContext('2d');
|
| + myCtx2.drawImage(bitmapCanvas, 0, 0);
|
| + testCanvasReset(myCtx2);
|
| +
|
| + // Test if we can redraw the bitmap canvas correctly after reset.
|
| + bitmapCtx.transferFromImageBitmap(image);
|
| + var myCanvas3 = document.createElement('canvas');
|
| + myCanvas3.width = myCanvas3.height = 100;
|
| + var myCtx3 = myCanvas3.getContext('2d');
|
| + myCtx3.drawImage(bitmapCanvas, 0, 0);
|
| + testCanvas_0f0(myCtx3);
|
| +}
|
| +
|
| +promise_test(function() {
|
| + var canvas = document.createElement('canvas');
|
| + canvas.width = canvas.height = 100;
|
| + var ctx = canvas.getContext('2d');
|
| + ctx.fillStyle = '#0f0';
|
| + ctx.fillRect(0, 0, 100, 100);
|
| + testCanvas_0f0(ctx);
|
| +
|
| + return createImageBitmap(canvas).then(testTransferFromImageBitmapNullability);
|
| +}, 'testTransferFromImageBitmapNullability should not return any error');
|
| +
|
| +</script>
|
| +
|
|
|