Closed Bug 674003 Opened 8 years ago Closed 8 years ago

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

Categories

(Core :: Graphics, defect)

x86
Windows 7
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla8
Tracking Status
firefox7 + fixed

People

(Reporter: benjamin, Unassigned)

References

Details

(Keywords: regression)

Attachments

(3 files)

Attached image 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.
Attached file 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.
Whoops, it was chrome://azure-testcase/content/
This should be easy to fix again. We're accidentally squaring the alpha.
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)
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 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
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
Fwiw, this is incredibly safe and as Joe points out, this does affect all canvases.
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+
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%).
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.