Closed
Bug 1276996
Opened 9 years ago
Closed 9 years ago
a text placed on a transparent canvas via fillText has wrong color on its edge
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: nederland074, Unassigned)
Details
(Keywords: regression, regressionwindow-wanted, Whiteboard: [gfx-noted])
Attachments
(2 files)
If a text is placed on a transparent canvas, it has its edge colored, which is probably not the expected result.
Steps to reproduce:
1) create an html file with a white background and a canvas
2) set fillStyle to "#fff"
3) draw some text on the canvas via fillText
What happened:
The text is slightly visible and has light blue and light yellow color.
What should have happened:
Nothing should be visible - a white text on a white background.
Where it's reproduced:
This is reproduced on Ubuntu 14.04/15.04/15.10/16.04 regardless of the GPU used. This doesn't happen on Windows 7, Windows 8.1 and OS X 10.10.3. The issue appears since 46.0.1 version, but in 45.0.2 and 45.1.1esr it works as expected.
Details:
* This is the most noticeable when drawing a white text (see the "firefox_canvas_filltext.html" attachment).
* Clearing the canvas via fillRect() with an opaque color before drawing the text fixes this issue.
| Reporter | ||
Comment 1•9 years ago
|
||
Comment on attachment 8758353 [details]
working_example.html
><!DOCTYPE html>
><html>
>
><head>
> <script>
> function test() {
> var canvas = document.getElementById("canvas");
>
> var ctx = canvas.getContext("2d");
> ctx.font = "50px Arial";
> ctx.fillStyle = "#fff";
> ctx.fillText("Lorem ipsum", 5, 50);
> }
> </script>
></head>
>
><body onload="test();" style="background-color: #fff;">
> <canvas id="canvas" style="width:500px;height:300px;border:3px solid red;"></canvas>
></body>
>
></html>
| Reporter | ||
Updated•9 years ago
|
Attachment #8758353 -
Attachment description: firefox_canvas_filltext.html → working_example.html
Attachment #8758353 -
Attachment filename: firefox_canvas_filltext.html → working_example.html
| Reporter | ||
Comment 2•9 years ago
|
||
| Reporter | ||
Comment 3•9 years ago
|
||
Fixed attachments:
"attachment 8758355 [details]" - the file where the issue is reproduced
"attachment 8758353 [details]" - a test case with clearing the canvas before drawing the text
Comment 4•9 years ago
|
||
Milan, graphics or canvas issue?
Reporter, any chance you could check when exactly this broke using mozregression? ( http://mozilla.github.io/mozregression/ )
Component: General → Canvas: 2D
Flags: needinfo?(nederland074)
Flags: needinfo?(milan)
Keywords: regression,
regressionwindow-wanted
Product: Firefox → Core
Comment 5•9 years ago
|
||
I can reproduce this issue with canvas cairo backend but can't reproduce this with canvas skia backend. This should be related to 2D backend issue. I will check this bug.
Assignee: nobody → howareyou322
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(milan)
Whiteboard: [gfx-noted]
Comment 6•9 years ago
|
||
I can reproduce this on OSX by switch gfx.canvas.azure.backends to cairo.
Comment 7•9 years ago
|
||
(In reply to nederland074 from comment #0)
> Where it's reproduced:
> This is reproduced on Ubuntu 14.04/15.04/15.10/16.04 regardless of the GPU
> used. This doesn't happen on Windows 7, Windows 8.1 and OS X 10.10.3. The
> issue appears since 46.0.1 version, but in 45.0.2 and 45.1.1esr it works as
> expected.
I can reproduce this issue in FF40/41 with canvas cairo.
nederland074, about the workable version, which backend(gfx.canvas.azure.backends) do you see from about:config page?
Comment 8•9 years ago
|
||
Now skia canvas is on by default on Linux after bug 1244754(FF 48).
Therefore, now I don't see the value to fix this issue in cairo, un-assigned the bug.
nederland074, maybe you can switch this bug to workforme if FF48 works for you.
Assignee: howareyou322 → nobody
Status: ASSIGNED → NEW
| Reporter | ||
Comment 9•9 years ago
|
||
(In reply to Peter Chang[:pchang] from comment #7)
> I can reproduce this issue in FF40/41 with canvas cairo.
>
> nederland074, about the workable version, which
> backend(gfx.canvas.azure.backends) do you see from about:config page?
OS X 10.10.3 - "skia"
Win7/Win8.1 - "direct2d1.1,direct2d,skia,cairo"
Linux - "cairo" in 45.0.2 (but in non-workable 46.0.1 it's also "cairo")
(In reply to Peter Chang[:pchang] from comment #8)
> Now skia canvas is on by default on Linux after bug 1244754(FF 48).
> Therefore, now I don't see the value to fix this issue in cairo, un-assigned
> the bug.
>
> nederland074, maybe you can switch this bug to workforme if FF48 works for
> you.
Yes, FF48 works for me, moreover switching to "skia" removes this issue in other versions.
Thank you, Peter, will wait for the stable FF48.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
| Reporter | ||
Comment 10•9 years ago
|
||
This is what I've found with mozregression:
15:41.65 INFO: Narrowed inbound regression window from [16bb246d, 082d9636] (3 revisions) to [16bb246d, 8cd99e9b] (2 revisions) (~1 steps left)
15:41.65 INFO: Oh noes, no (more) inbound revisions :(
15:41.65 INFO: Last good revision: 16bb246db6427c4131383beb1f71076ffedefc23
15:41.65 INFO: First bad revision: 8cd99e9b6034a6417ba17b426e6537ccb8aa9bf2
15:41.65 INFO: Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=16bb246db6427c4131383beb1f71076ffedefc23&tochange=8cd99e9b6034a6417ba17b426e6537ccb8aa9bf2
15:42.98 INFO: Looks like the following bug has the changes which introduced the regression:
https://bugzilla.mozilla.org/show_bug.cgi?id=1180942
Flags: needinfo?(nederland074)
You need to log in
before you can comment on or make changes to this bug.
Description
•