[Webkit-unassigned] [Bug 55257] Support creating compositing layers for scrollable and overflowing objects

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Mar 4 11:22:13 PST 2011


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


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

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




--- Comment #21 from Simon Fraser (smfr) <simon.fraser at apple.com>  2011-03-04 11:22:13 PST ---
(From update of attachment 84779)
View in context: https://bugs.webkit.org/attachment.cgi?id=84779&action=review

> Source/WebCore/rendering/RenderLayer.cpp:3816
> +        || renderer()->isRenderIFrame()
> +        || isComposited();

You can't do this; the test becomes circular. See RenderLayerCompositor::canBeComposited().

Non-self-painting layers are used for overflow, so your changes here will break rendering in some cases.

> Source/WebCore/rendering/RenderLayerCompositor.cpp:1230
> -    return m_hasAcceleratedCompositing && layer->isSelfPaintingLayer();
> +    if (!m_hasAcceleratedCompositing)
> +        return false;
> +
> +    bool canBeComposited = layer->isSelfPaintingLayer();
> +
> +    if ((m_compositingTriggers & ChromeClient::ScrollableOverflowTrigger)
> +        && layer->renderer()->isRenderBlock() && !layer->renderer()->isTextControl()) {
> +        // Only do a loose check now, as this function will be queried before layout.
> +        // Whether there is actual overflow will be determined after layout
> +        // by requiresCompositingForScrollableOverflow().
> +        canBeComposited |= toRenderBox(layer->renderer())->scrollsOverflow();
> +    }
> +
> +    return canBeComposited;

This seems wrong.

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