Bug 142119

Summary: fast/canvas/canvas-ellipse-zero-lineto.html failing on Apple Windows
Product: WebKit Reporter: Dean Jackson <dino>
Component: CanvasAssignee: Nobody <webkit-unassigned>
Status: RESOLVED MOVED    
Severity: Normal CC: bfulgham, dino, mmaxfield, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Dean Jackson 2015-02-27 17:53:59 PST
This test is reproducibly failing on Windows.

fast/canvas/canvas-ellipse-zero-lineto.html
Comment 1 Radar WebKit Bug Importer 2015-02-27 17:54:38 PST
<rdar://problem/19993919>
Comment 2 Myles C. Maxfield 2015-02-27 18:06:03 PST
*** Bug 142120 has been marked as a duplicate of this bug. ***
Comment 3 Brent Fulgham 2015-03-01 10:36:15 PST
Failure looks like the following:

--- /cygdrive/c/Projects/WebKit/OpenSource/WebKitBuild/Release/bin32/layout-test-results/fast/canvas/canvas-ellipse-zero-lineto-expected.txt
+++ /cygdrive/c/Projects/WebKit/OpenSource/WebKitBuild/Release/bin32/layout-test-results/fast/canvas/canvas-ellipse-zero-lineto-actual.txt
@@ -57,7 +57,7 @@
 PASS imageData.data[1] is 0
 PASS imageData.data[1] is 0
  2. sweepAngle < PI
-PASS imageData.data[1] is 0
+FAIL imageData.data[1] should be 0. Was 7.
 PASS imageData.data[1] is 255
 PASS imageData.data[1] is 0
 PASS imageData.data[1] is 0
Comment 4 Brent Fulgham 2015-03-01 10:44:27 PST
Here is the failing sequence of commands:

debug(" 2. sweepAngle < PI");
ctx.translate(0, 30);
ctx.save();
ctx.beginPath();
ctx.lineTo(10, 0);
ctx.ellipse(20, 0, 20, zero, Math.PI / 6, -Math.PI / 4, Math.PI / 2, false);
ctx.lineTo(80, 0);
ctx.stroke();
ctx.restore();

imageData = ctx.getImageData(232, 69, 1, 1);
shouldBe("imageData.data[1]", "0");
imageData = ctx.getImageData(238, 72, 1, 1);
shouldBe("imageData.data[1]", "255");
imageData = ctx.getImageData(228, 65, 1, 1);
shouldBe("imageData.data[1]", "0");
imageData = ctx.getImageData(242, 61, 1, 1);
shouldBe("imageData.data[1]", "0");
Comment 5 Brent Fulgham 2015-03-02 14:05:05 PST
See the screenshot "Comparison" to see the slight differences between the two drawing libraries. The top "arrow" is the Mac version, the bottom is the WIndows one.

Antialiasing seems different on the two platforms.

The drawing commands are identical:

ctx.beginPath();
ctx.lineTo(10, 0);
ctx.ellipse(20, 0, 20, zero, Math.PI / 6, -Math.PI / 4, Math.PI / 2, false);
ctx.lineTo(80, 0);
ctx.stroke();
ctx.restore();

imageData = ctx.getImageData(232, 69, 1, 1); // Should be black, but WIndows is '7' (not '0')
imageData = ctx.getImageData(238, 72, 1, 1); // Should be White, and both are.
imageData = ctx.getImageData(228, 65, 1, 1); // Should be black, and both are.
imageData = ctx.getImageData(242, 61, 1, 1); // Should be black, and both are.

This might be a drawing difference in the rendering libraries used on the two platforms.
Comment 6 Brent Fulgham 2015-03-02 14:11:38 PST
Unskipped and rebaselined test in r180895 <https://trac.webkit.org/changeset/180895>.
Comment 7 Brent Fulgham 2022-02-10 14:40:56 PST
The fix for this issue was needed outside the WebKit project, therefore this is being resolved as 'Moved'.

This should now be fixed in shipping software.