| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-draw-canvas-on-canvas-shadow.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
|
| index c6e02b2fbadd1f0bb3cbe743b16b2f94e4289ea2..95a0cc92d6a28a017bccbf9940a155fd15f71f60 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
|
| @@ -1,9 +1,114 @@
|
| -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
| -<html>
|
| -<head>
|
| -<script src="../../resources/js-test.js"></script>
|
| -</head>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| <body>
|
| -<script src="script-tests/canvas-draw-canvas-on-canvas-shadow.js"></script>
|
| +<script>
|
| +test(function(t) {
|
| + var canvas = document.createElement('canvas');
|
| + document.body.appendChild(canvas);
|
| + canvas.setAttribute('width', '600');
|
| + canvas.setAttribute('height', '600');
|
| + var ctx = canvas.getContext('2d');
|
| + ctx.shadowOffsetX = 100;
|
| + ctx.shadowOffsetY = 100;
|
| +
|
| + var aCanvas = document.createElement('canvas');
|
| + aCanvas.width = 300;
|
| + aCanvas.height = 300;
|
| +
|
| + var aCtx = aCanvas.getContext('2d');
|
| + aCtx.fillStyle = 'rgba(0, 0, 255, 1.0)';
|
| + aCtx.fillRect(100, 100, 100, 100);
|
| +
|
| + ctx.shadowColor = 'rgba(255, 0, 0, 1.0)';
|
| + ctx.drawImage(aCanvas, 0, 0);
|
| +
|
| + ctx.shadowColor = 'rgba(255, 0, 0, 0.5)';
|
| + ctx.drawImage(aCanvas, 0, 200);
|
| +
|
| + ctx.shadowBlur = 5;
|
| + ctx.shadowColor = 'rgba(255, 0, 0, 1.0)';
|
| + ctx.drawImage(aCanvas, 200, 0);
|
| +
|
| + ctx.shadowColor = 'rgba(255, 0, 0, 0.5)';
|
| + ctx.drawImage(aCanvas, 200, 200);
|
| +
|
| + var d; // imageData.data
|
| +
|
| + // Verify solid shadow.
|
| + d = ctx.getImageData(200, 205, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_equals(d[3], 255);
|
| +
|
| + d = ctx.getImageData(299, 295, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_equals(d[3], 255);
|
| +
|
| + d = ctx.getImageData(200, 299, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_equals(d[3], 255);
|
| +
|
| + // Verify solid alpha shadow.
|
| + d = ctx.getImageData(200, 405, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 127, 15);
|
| +
|
| + d = ctx.getImageData(299, 405, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 127, 15);
|
| +
|
| + d = ctx.getImageData(205, 499, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 127, 15);
|
| +
|
| + // Verify blurry shadow.
|
| + d = ctx.getImageData(500, 211, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 100, 15);
|
| +
|
| + d = ctx.getImageData(399, 205, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 100, 15);
|
| +
|
| + d = ctx.getImageData(450, 300, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 100, 15);
|
| +
|
| + // Verify blurry alpha shadow.
|
| + d = ctx.getImageData(500, 411, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 50, 15);
|
| +
|
| + d = ctx.getImageData(399, 405, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 50, 15);
|
| +
|
| + d = ctx.getImageData(450, 500, 1, 1).data;
|
| + assert_equals(d[0], 255);
|
| + assert_equals(d[1], 0);
|
| + assert_equals(d[2], 0);
|
| + assert_approx_equals(d[3], 50, 15);
|
| +}, "Ensure correct behavior when drawing a canvas on a canvas with shadows. A blue and red checkered pattern should be displayed.");
|
| +</script>
|
| </body>
|
| -</html>
|
|
|