• rosca@adobe.com's avatar
    hasDescendantWithBlendMode should not be propagated outside · 0a70eebb
    rosca@adobe.com authored
    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
    0a70eebb
mix-blend-mode-propagating-isolation.html 1.42 KB