Index: third_party/WebKit/LayoutTests/imported/wpt/offscreen-canvas/transformations/2d.transformation.transform.skewed.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/offscreen-canvas/transformations/2d.transformation.transform.skewed.html b/third_party/WebKit/LayoutTests/imported/wpt/offscreen-canvas/transformations/2d.transformation.transform.skewed.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..83769e0344663d94f54fb1c664647606f9e96050 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/offscreen-canvas/transformations/2d.transformation.transform.skewed.html |
@@ -0,0 +1,51 @@ |
+<!DOCTYPE html> |
+<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. --> |
+<title>OffscreenCanvas test: 2d.transformation.transform.skewed</title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<script src="/common/canvas-tests.js"></script> |
+ |
+<h1>2d.transformation.transform.skewed</h1> |
+<p class="desc">transform() with skewy matrix transforms correctly</p> |
+ |
+ |
+<script> |
+var t = async_test("transform() with skewy matrix transforms correctly"); |
+t.step(function() { |
+ |
+var offscreenCanvas = new OffscreenCanvas(100, 50); |
+var ctx = offscreenCanvas.getContext('2d'); |
+ |
+// Create green with a red square ring inside it |
+ctx.fillStyle = '#0f0'; |
+ctx.fillRect(0, 0, 100, 50); |
+ctx.fillStyle = '#f00'; |
+ctx.fillRect(20, 10, 60, 30); |
+ctx.fillStyle = '#0f0'; |
+ctx.fillRect(40, 20, 20, 10); |
+// Draw a skewed shape to fill that gap, to make sure it is aligned correctly |
+ctx.transform(1,4, 2,3, 5,6); |
+// Post-transform coordinates: |
+// [[20,10],[80,10],[80,40],[20,40],[20,10],[40,20],[40,30],[60,30],[60,20],[40,20],[20,10]]; |
+// Hence pre-transform coordinates: |
+var pts=[[-7.4,11.2],[-43.4,59.2],[-31.4,53.2],[4.6,5.2],[-7.4,11.2], |
+ [-15.4,25.2],[-11.4,23.2],[-23.4,39.2],[-27.4,41.2],[-15.4,25.2], |
+ [-7.4,11.2]]; |
+ctx.beginPath(); |
+ctx.moveTo(pts[0][0], pts[0][1]); |
+for (var i = 0; i < pts.length; ++i) |
+ ctx.lineTo(pts[i][0], pts[i][1]); |
+ctx.fill(); |
+_assertPixel(offscreenCanvas, 21,11, 0,255,0,255, "21,11", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 79,11, 0,255,0,255, "79,11", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 21,39, 0,255,0,255, "21,39", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 79,39, 0,255,0,255, "79,39", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 39,19, 0,255,0,255, "39,19", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 61,19, 0,255,0,255, "61,19", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 39,31, 0,255,0,255, "39,31", "0,255,0,255"); |
+_assertPixel(offscreenCanvas, 61,31, 0,255,0,255, "61,31", "0,255,0,255"); |
+ |
+t.done(); |
+ |
+}); |
+</script> |