hasDescendantWithBlendMode 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. Review URL: https://codereview.chromium.org/478333002 git-svn-id: svn://svn.chromium.org/blink/trunk@183806 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Showing
Please register or sign in to comment