DescriptionhasDescendantWithBlendMode should not be propagated outside
the current stacking context.
If a stacking context element has descendants with blend mode, it should
create a new transparency layer, so that blending descendants will blend
only with the content within this stacking context (stacking context
will isolate blending).
With this CL, hasDescendantWithBlendMode will be set only if
the descendant is right inside the current stacking context, without
looking into nested stacking context elements. It also renames
hasDescendantWithBlendMode to hasNonIsolatedDescendantWithBlendMode,
which is more self-explanatory.
This change is necessary after https://codereview.chromium.org/466193002
(Disentangle blend mode from updateDescendantDependentFlags).
The "isolating" state used to be tested with DRT, but this property has
been removed with https://codereview.chromium.org/466943002/
(Remove isolatesBlending from render tree dumps).
We cannot test this change using layout tests. The effect is that
RenderLayer doesn't create any aditional and unnecessary skia
transparency layers.
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=183806
Patch Set 1 #Patch Set 2 : adding performance test #Patch Set 3 : rebase #
Messages
Total messages: 15 (4 generated)
|