[webkit-reviews] review granted: [Bug 196508] Async overflow scroll on iOS paints slowly if it has a negative z-index child : [Attachment 371119] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Jun 1 14:15:10 PDT 2019
Dean Jackson <dino at apple.com> has granted Simon Fraser (smfr)
<simon.fraser at apple.com>'s request for review:
Bug 196508: Async overflow scroll on iOS paints slowly if it has a negative
z-index child
https://bugs.webkit.org/show_bug.cgi?id=196508
Attachment 371119: Patch
https://bugs.webkit.org/attachment.cgi?id=371119&action=review
--- Comment #7 from Dean Jackson <dino at apple.com> ---
Comment on attachment 371119
--> https://bugs.webkit.org/attachment.cgi?id=371119
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=371119&action=review
> Source/WebCore/ChangeLog:13
> + Fix by updating the fore- and background-layers last (nothing elese
has dependencies
typo: else
> Source/WebCore/rendering/RenderLayerBacking.cpp:1274
> + if (m_scrolledContentsLayer) {
> + foregroundSize = m_scrolledContentsLayer->size();
> + foregroundOffset = m_scrolledContentsLayer->offsetFromRenderer()
- toLayoutSize(m_scrolledContentsLayer->scrollOffset());
> + needsDisplayOnOffsetChange = GraphicsLayer::DontSetNeedsDisplay;
> + } else {
> + foregroundSize = primaryGraphicsLayerRect.size();
> + foregroundOffset = m_graphicsLayer->offsetFromRenderer();
> + }
> +
> + if (hasClippingLayer()) {
> + // If we have a clipping layer (which clips descendants), then
the foreground layer is a child of it,
> + // so that it gets correctly sorted with children. In that case,
position relative to the clipping layer.
> + foregroundSize = FloatSize(clippingBox.size());
> + foregroundOffset = toFloatSize(clippingBox.location());
> + }
This can be
if (hasClippingLayer()) {
} else {
if (m_scrolledContentsLayer) {
} else {
}
}
Although I guess you still need the needsDisplayOnOffsetChange... :(
More information about the webkit-reviews
mailing list