Radial gradient in <canvas> on glass (Aero Window Title extension) doesn't have the same opaqueness as a linear gradient

VERIFIED FIXED in Firefox 7

Status

()

Core
Graphics
VERIFIED FIXED
6 years ago
6 years ago

People

(Reporter: bsmedberg, Unassigned)

Tracking

({regression})

unspecified
mozilla8
x86
Windows 7
regression
Points:
---

Firefox Tracking Flags

(firefox7+ fixed)

Details

Attachments

(3 attachments)

(Reporter)

Description

6 years ago
Created attachment 548242 [details]
Screenshot

This is a followup to bug 672646. In that bug, the radial gradient was opaque. This fixed the problems in web content, but when painting onto glass in the Firefox toolbar there is still a bug. The gradient is no longer opaque, but it is more opaque than the linear gradient it matches up with. Screenshot attached.

This is a Windows-only regression from Azure. Disabling azure via pref fixes the issue.
(Reporter)

Comment 1

6 years ago
Created attachment 548254 [details]
Testcase .xpi

Here is a testcase extension: install it and then run Firefox with -chrome chrome://azuretestcase/content/
I can't get this test case to work for me. When I launch with -chrome chrome://azuretestcase/content/ I get no windows at all.
(Reporter)

Comment 3

6 years ago
Whoops, it was chrome://azure-testcase/content/
This should be easy to fix again. We're accidentally squaring the alpha.
Created attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

We were accidentally squaring alpha. This patch avoids doing so and fixes the problem. I have a reftest that I'll upload later.
Attachment #548626 - Flags: review?(roc)
Blocks: 672646
Attachment #548626 - Flags: review?(roc)
Attachment #548626 - Flags: review?(bjacob)
Attachment #548626 - Flags: review?
Attachment #548626 - Flags: review?
Comment on attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

R+ on the shader sources, didn't check the generated part.
Attachment #548626 - Flags: review?(bjacob) → review+
Attachment #548626 - Flags: approval-mozilla-aurora?

Comment 7

6 years ago
Comment on attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

I don't think we want to take changes that only impact our chrome when we don't even use this in our default chrome.
Attachment #548626 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora-
This doesn't only affect chrome; all canvases are transparent on the web, and radial gradients are currently wrong whenever the author uses transparency.
Comment on attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

Renomming based on comment 8.
Attachment #548626 - Flags: approval-mozilla-aurora- → approval-mozilla-aurora?
http://hg.mozilla.org/mozilla-central/rev/d146b9c0f92e
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
Fwiw, this is incredibly safe and as Joe points out, this does affect all canvases.

Comment 12

6 years ago
Comment on attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

Approved for releases/mozilla-aurora
Attachment #548626 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
http://hg.mozilla.org/releases/mozilla-aurora/rev/62b90a0b9d4d
status-firefox7: affected → fixed
reftest
http://hg.mozilla.org/mozilla-central/rev/bae3e43a5173
I was thinking an interesting (and simpler) reftest here might also be to compare on a white background a gradient with stops rgba(0%, 0%, 0%, 100%) rgba(100%, 100%, 100%, 100%) and one with stops rgba(0%, 0%, 0%, 100%) rgba(0%, 0%, 0%, 0%).

Updated

6 years ago
tracking-firefox7: ? → +

Comment 16

6 years ago
Build ID: Mozilla/5.0 (Windows NT 6.1; rv:7.0) Gecko/20100101 Firefox/7.0
Setting this bug as Verified. The issue reported is fixed on Fx7 Beta. Tested following the steps in the description.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.