[Webkit-unassigned] [Bug 130892] [CSS Blending] Isolation descendant dependent flags are not updated correctly

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 3 00:34:33 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=130892





--- Comment #11 from Mihnea Ovidenie <mihnea at adobe.com>  2014-04-03 00:34:49 PST ---
(From update of attachment 228385)
View in context: https://bugs.webkit.org/attachment.cgi?id=228385&action=review

> Source/WebCore/ChangeLog:10
> +

You should probably mention that you renamed:
m_hasBlendedElementInChildStackingContext => m_hasUnisolatedBlendingDescendants
m_hasBlendedElementInChildStackingContextStatusDirty => m_hasUnisolatedBlendingDescendantsStatusDirty

> Source/WebCore/rendering/RenderLayer.cpp:190
> +    , m_hasUnisolatedBlendingDescendants(false)

With this patch, you have 2 flags tracking isolation: m_hasUnisolatedCompositedBlendingDescendants and m_hasUnisolatedBlendingDescendants. I suggest you should add some assertions checking that if the first is true the second should also be true.

> Source/WebCore/rendering/RenderLayer.cpp:-825
> -    if (isComposited())

Why did you remove this check?

> Source/WebCore/rendering/RenderLayer.cpp:1099
> +#endif

I would rewrite the code above to be wrapped in ENABLE(CSS_COMPOSITING):
#if ENABLE(CSS_COMPOSITING)
bool hasUnisolatedBlendingDescendants = false;
#endif

> Source/WebCore/rendering/RenderLayer.cpp:1145
> +#endif

Can these lines be moved above, before:
if (m_hasVisibleDescendant && m_hasSelfPaintingLayerDescendant && m_hasOutOfFlowPositionedDescendant && hasUnisolatedBlendingDescendants)

If so, in the if clause you can use the function you added instead of testing the variable hasUnisolatedBlendingDescendants.

> Source/WebCore/rendering/RenderLayer.cpp:6432
> +        if (isStackingContext && parent()) {

1. When is parent() null here?
2. You can rewrite to smth like:
if (parent()) {
    if (isstackingContent) { ... }
    else { ... }
}

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list