[Webkit-unassigned] [Bug 109966] Early out of RenderLayer::updateCanBeStackingContainer more often

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Mar 1 17:54:37 PST 2013


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


Simon Fraser (smfr) <simon.fraser at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #191080|review?                     |review-
               Flag|                            |




--- Comment #3 from Simon Fraser (smfr) <simon.fraser at apple.com>  2013-03-01 17:57:00 PST ---
(From update of attachment 191080)
View in context: https://bugs.webkit.org/attachment.cgi?id=191080&action=review

> Source/WebCore/rendering/RenderBox.cpp:360
> +            if (layer())
> +                layer()->dirtyAncestorStackingContextDescendantsAreContiguousInStackingOrder();

I think this should call a function on RenderLayer with a simpler name that describes when it's called, but I can't tell from this call site what actually matters.

> Source/WebCore/rendering/RenderLayer.cpp:710
> +    // Overflow are a box concept.

is a?

> Source/WebCore/rendering/RenderLayer.cpp:721
> +    bool overflowXHasChanged = overflowX == OSCROLL && (!oldStyle || oldStyle->overflowX() != OSCROLL);
> +    bool overflowYHasChanged = overflowY == OSCROLL && (!oldStyle || oldStyle->overflowY() != OSCROLL);
> +    if (overflowXHasChanged || overflowYHasChanged)
> +        dirtyAncestorStackingContextDescendantsAreContiguousInStackingOrder();

It's odd that you're dirtying a flag related to stacking order when overflow changes. Sure, it's related to composited overflow, but you're making the assumption that only composited overflow cares about the flag.

> Source/WebCore/rendering/RenderLayer.cpp:1140
> +            ScopedNeedsCompositedScrollingUpdater(this);

This seems like an odd place for a Scope thing. Won't it be destroyed two lines below?

> Source/WebCore/rendering/RenderLayer.h:1319
> +    RenderLayer* m_nextLayerToUpdateNeedsCompositedScrolling;
> +    RenderLayer* m_lastLayerToUpdateNeedsCompositedScrolling;

It seems wrong to take up space on RenderLayer with these.

-- 
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