[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