Last Comment Bug 674003 - Radial gradient in <canvas> on glass (Aero Window Title extension) doesn't have the same opaqueness as a linear gradient
: Radial gradient in <canvas> on glass (Aero Window Title extension) doesn't ha...
Status: VERIFIED FIXED
: regression
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: unspecified
: x86 Windows 7
: -- normal (vote)
: mozilla8
Assigned To: Nobody; OK to take it and work on it
:
Mentors:
Depends on:
Blocks: 672646
  Show dependency treegraph
 
Reported: 2011-07-25 11:58 PDT by Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg]
Modified: 2011-08-25 04:59 PDT (History)
8 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
+
fixed


Attachments
Screenshot (10.80 KB, image/png)
2011-07-25 11:58 PDT, Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg]
no flags Details
Testcase .xpi (1.67 KB, application/x-xpinstall)
2011-07-25 12:46 PDT, Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg]
no flags Details
Fix premultiplying to only premultiply the color components. (12.16 KB, patch)
2011-07-26 16:20 PDT, Jeff Muizelaar [:jrmuizel]
jacob.benoit.1: review+
christian: approval‑mozilla‑aurora+
Details | Diff | Splinter Review

Description Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-07-25 11:58:31 PDT
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.
Comment 1 Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-07-25 12:46:18 PDT
Created attachment 548254 [details]
Testcase .xpi

Here is a testcase extension: install it and then run Firefox with -chrome chrome://azuretestcase/content/
Comment 2 Jeff Muizelaar [:jrmuizel] 2011-07-26 10:52:05 PDT
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.
Comment 3 Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-07-26 10:53:50 PDT
Whoops, it was chrome://azure-testcase/content/
Comment 4 Jeff Muizelaar [:jrmuizel] 2011-07-26 13:00:19 PDT
This should be easy to fix again. We're accidentally squaring the alpha.
Comment 5 Jeff Muizelaar [:jrmuizel] 2011-07-26 16:20:45 PDT
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.
Comment 6 Benoit Jacob [:bjacob] (mostly away) 2011-07-28 13:59:25 PDT
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.
Comment 7 Asa Dotzler [:asa] 2011-07-28 14:59:44 PDT
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.
Comment 8 Joe Drew (not getting mail) 2011-07-28 15:04:00 PDT
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 9 Joe Drew (not getting mail) 2011-07-28 15:04:38 PDT
Comment on attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

Renomming based on comment 8.
Comment 10 Marco Bonardo [::mak] (Away 6-20 Aug) 2011-07-29 03:09:13 PDT
http://hg.mozilla.org/mozilla-central/rev/d146b9c0f92e
Comment 11 Bas Schouten (:bas.schouten) 2011-08-01 01:50:25 PDT
Fwiw, this is incredibly safe and as Joe points out, this does affect all canvases.
Comment 12 christian 2011-08-02 14:52:55 PDT
Comment on attachment 548626 [details] [diff] [review]
Fix premultiplying to only premultiply the color components.

Approved for releases/mozilla-aurora
Comment 13 Jeff Muizelaar [:jrmuizel] 2011-08-04 15:11:27 PDT
http://hg.mozilla.org/releases/mozilla-aurora/rev/62b90a0b9d4d
Comment 14 Marco Bonardo [::mak] (Away 6-20 Aug) 2011-08-06 03:00:29 PDT
reftest
http://hg.mozilla.org/mozilla-central/rev/bae3e43a5173
Comment 15 Bas Schouten (:bas.schouten) 2011-08-06 14:06:43 PDT
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%).
Comment 16 AndreiD[QA] 2011-08-25 04:59:49 PDT
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.

Note You need to log in before you can comment on or make changes to this bug.