Bug 142119 - fast/canvas/canvas-ellipse-zero-lineto.html failing on Apple Windows
Summary: fast/canvas/canvas-ellipse-zero-lineto.html failing on Apple Windows
Status: RESOLVED MOVED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Canvas (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
: 142120 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-02-27 17:53 PST by Dean Jackson
Modified: 2022-02-10 14:40 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.