Bug 51240

Summary: [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia
Product: WebKit Reporter: Hajime Morrita <morrita>
Component: PlatformAssignee: Hajime Morrita <morrita>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, agl, dglazkov, eric, senorblanco, thakis, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch jamesr: review+

Hajime Morrita
Reported 2010-12-17 02:22:05 PST
Attachments
Patch (7.53 KB, patch)
2010-12-17 03:13 PST, Hajime Morrita
jamesr: review+
Hajime Morrita
Comment 1 2010-12-17 03:13:28 PST
Adam Langley
Comment 2 2010-12-17 09:32:33 PST
(Note: I am not a WebKit reviewer. You also need an r+ from a real reviewer.) LGTM
Nico Weber
Comment 3 2010-12-17 09:41:50 PST
I believe senorblanco wrote this code. I don't quite understand why the patch works (it looks like setFillColor() still sets the gradient to NULL), but since the layout test passes and agl says it's ok, this is my fault and not the patch's :-)
Adam Langley
Comment 4 2010-12-17 10:32:54 PST
(In reply to comment #3) > since the layout test passes Yes, I largely defer to the reality of layout tests when evaluating correctness!
Hajime Morrita
Comment 5 2010-12-17 19:16:43 PST
So could any kind reviewer give r+ to this ? (In reply to comment #3) > I don't quite understand why the patch works (it looks like setFillColor() still sets the gradient to NULL), but since the layout test passes and agl says it's ok, this is my fault and not the patch's :-) What wrong here is, in my understanding, not the fill code but the gradient code. The gradient rendering refers color value which is set by setFillColor(), and uses the alpha component of that color to make things transparent. So setFillColor() and setFillGradient() weren't mutually exclusive, regardless they should be. Actually there are some confusions around how the transparency of each pixel is determined: we have State::m_alpha and State::m_fillColor on the chromium land, and have layers, blitters and shaders in the Skia land...
James Robinson
Comment 6 2010-12-20 16:56:31 PST
Comment on attachment 76862 [details] Patch OK
Hajime Morrita
Comment 7 2010-12-20 20:32:56 PST
Hajime Morrita
Comment 8 2010-12-20 20:37:34 PST
(In reply to comment #6) > (From update of attachment 76862 [details]) > OK Landed. thank you for your r+!
WebKit Review Bot
Comment 9 2010-12-20 20:55:52 PST
http://trac.webkit.org/changeset/74386 might have broken Qt Linux Release The following tests are not passing: fast/gradients/gradient-after-transparent-border.html
Note You need to log in before you can comment on or make changes to this bug.