[webkit-reviews] review denied: [Bug 55257] Support creating compositing layers for scrollable and overflowing objects : [Attachment 84779] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Mar 4 11:22:12 PST 2011
Simon Fraser (smfr) <simon.fraser at apple.com> has denied Daniel Sievers
<sievers at google.com>'s request for review:
Bug 55257: Support creating compositing layers for scrollable and overflowing
objects
https://bugs.webkit.org/show_bug.cgi?id=55257
Attachment 84779: Patch
https://bugs.webkit.org/attachment.cgi?id=84779&action=review
------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
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.
More information about the webkit-reviews
mailing list