WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
51240
[Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia
https://bugs.webkit.org/show_bug.cgi?id=51240
Summary
[Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient o...
Hajime Morrita
Reported
Friday, December 17, 2010 10:22:05 AM UTC
From
http://code.google.com/p/chromium/issues/detail?id=48278
Attachments
Patch
(7.53 KB, patch)
2010-12-17 03:13 PST
,
Hajime Morrita
jamesr
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Hajime Morrita
Comment 1
Friday, December 17, 2010 11:13:28 AM UTC
Created
attachment 76862
[details]
Patch
Adam Langley
Comment 2
Friday, December 17, 2010 5:32:33 PM UTC
(Note: I am not a WebKit reviewer. You also need an r+ from a real reviewer.) LGTM
Nico Weber
Comment 3
Friday, December 17, 2010 5:41:50 PM UTC
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
Friday, December 17, 2010 6:32:54 PM UTC
(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
Saturday, December 18, 2010 3:16:43 AM UTC
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
Tuesday, December 21, 2010 12:56:31 AM UTC
Comment on
attachment 76862
[details]
Patch OK
Hajime Morrita
Comment 7
Tuesday, December 21, 2010 4:32:56 AM UTC
Committed
r74386
: <
http://trac.webkit.org/changeset/74386
>
Hajime Morrita
Comment 8
Tuesday, December 21, 2010 4:37:34 AM UTC
(In reply to
comment #6
)
> (From update of
attachment 76862
[details]
) > OK
Landed. thank you for your r+!
WebKit Review Bot
Comment 9
Tuesday, December 21, 2010 4:55:52 AM UTC
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.
Top of Page
Format For Printing
XML
Clone This Bug