Bug 784573 - Reftest for azure/cairo transform problem. r=joe
authorAnthony Jones <ajones@mozilla.com>
Mon, 03 Sep 2012 17:49:33 -0400
changeset 104164 eeda05ede83f21fbbc1bdc0906c1adfac645731c
parent 104163 2879ae03fa01e42abca8983dc0f73c3a11f193b0
child 104165 a86b00fa6bc685ebe8af48b5ba18093758889087
push id14363
push userryanvm@gmail.com
push dateMon, 03 Sep 2012 21:49:35 +0000
treeherdermozilla-inbound@eeda05ede83f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjoe
bugs784573
milestone18.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 784573 - Reftest for azure/cairo transform problem. r=joe
content/canvas/test/test_canvas.html
layout/reftests/canvas/784573-1-ref.html
layout/reftests/canvas/784573-1.html
layout/reftests/canvas/reftest.list
--- a/content/canvas/test/test_canvas.html
+++ b/content/canvas/test/test_canvas.html
@@ -14735,24 +14735,18 @@ ctx.restore();
 
 isPixel(ctx, 0,0, 0,255,0,255, 0);
 isPixel(ctx, 50,0, 0,255,0,255, 0);
 isPixel(ctx, 99,0, 0,255,0,255, 0);
 isPixel(ctx, 0,25, 0,255,0,255, 0);
 isPixel(ctx, 50,25, 0,255,0,255, 0);
 isPixel(ctx, 99,25, 0,255,0,255, 0);
 isPixel(ctx, 0,49, 0,255,0,255, 0);
-if (IsAzureEnabled() && IsAzureCairo()) {
-  // Bug 764108
-  todo_isPixel(ctx, 50,49, 0,255,0,255, 0);
-  todo_isPixel(ctx, 99,49, 0,255,0,255, 0);
-} else {
-  isPixel(ctx, 50,49, 0,255,0,255, 0);
-  isPixel(ctx, 99,49, 0,255,0,255, 0);
-}
+isPixel(ctx, 50,49, 0,255,0,255, 0);
+isPixel(ctx, 99,49, 0,255,0,255, 0);
 
 }
 </script>
 
 <!-- [[[ test_2d.path.stroke.unaffected.html ]]] -->
 
 <p>Canvas test: 2d.path.stroke.unaffected</p>
 <!-- Testing: Stroking does not start a new path or subpath -->
new file mode 100644
--- /dev/null
+++ b/layout/reftests/canvas/784573-1-ref.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<!--
+    Any copyright is dedicated to the Public Domain.
+    http://creativecommons.org/licenses/publicdomain/
+  -->
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<p><canvas width="100" height="100" id="c"></canvas></p>
+<script type="text/javascript">
+var c = document.getElementById('c').getContext('2d');
+
+c.shadowColor = '#f00';
+c.shadowBlur = 4;
+c.lineWidth = 2;
+
+c.moveTo(80, 40);
+c.lineTo(50, 70);
+c.lineTo(20, 40);
+c.lineTo(50, 10);
+c.closePath();
+c.stroke();
+
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/canvas/784573-1.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<!--
+    Any copyright is dedicated to the Public Domain.
+    http://creativecommons.org/licenses/publicdomain/
+
+    This tests that paths are stored in device space. This means that changing
+    the transform does not move the points already drawn.
+  -->
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<p><canvas width="100" height="100" id="c"></canvas></p>
+<script type="text/javascript">
+var c = document.getElementById('c').getContext('2d');
+
+c.shadowColor = '#f00';
+c.shadowBlur = 4;
+c.lineWidth = 2;
+
+c.translate(50, 40);
+
+var d = 30;
+c.beginPath();
+c.moveTo(d, 0);
+for (var n = 0; n < 3; n++) {
+  c.rotate(3.14159 / 2);
+  c.lineTo(d, 0);
+}
+c.closePath();
+c.stroke();
+
+</script>
+</body>
+</html>
--- a/layout/reftests/canvas/reftest.list
+++ b/layout/reftests/canvas/reftest.list
@@ -77,8 +77,11 @@ fails-if(/Mac\x20OS\x20X\x2010\.[56]/.te
 
 == 726951-shadow-clips.html 726951-shadow-clips-ref.html
 
 == transformed-clip.html transformed-clip-ref.html
 == transformed-gradient.html transformed-gradient-ref.html
 == transformed-path.html transformed-path.html
 
 == 749467-1.html 749467-1-ref.html
+
+# You get a little bit of rounding fuzz on OSX from transforming the paths between user space and device space
+fuzzy-if(azureQuartz,2,113) fuzzy-if(d2d,12,17) == 784573-1.html 784573-1-ref.html