DescriptionBoxBorderPainter should use computed color alpha
BoxBorderPainter makes paint-time transparency decisions based on
the BorderEdge::isTransparent field, which is initialized using
BorderValue::isTransparent() logic. But BorderValue::isTransparent()
doesn't return accurate results for 'currentColor' border color
values (style not fully resolved?), so we can end up with BorderEdges
for which isTransparent == false && color.alpha() == 0.
This breaks BoxBorderPainter's invariants.
Since BorderEdge is used for painting purposes, tracking an explicit
isTransparent attribute is redundant to start with: we already have a
fully resolved color. Let's just kill this shady isTransparent thing.
R=fs@opera.com,chrishtr@chromium.org,pdr@chromium.org
BUG=498673
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196886
Patch Set 1 #
Messages
Total messages: 5 (1 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||