[webkit-reviews] review denied: [Bug 96087] Optimize painting of composited scrolling layers : [Attachment 163569] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Sep 12 15:43:38 PDT 2012
Simon Fraser (smfr) <simon.fraser at apple.com> has denied Sami Kyöstilä
<skyostil at chromium.org>'s request for review:
Bug 96087: Optimize painting of composited scrolling layers
https://bugs.webkit.org/show_bug.cgi?id=96087
Attachment 163569: Patch
https://bugs.webkit.org/attachment.cgi?id=163569&action=review
------- Additional Comments from Simon Fraser (smfr) <simon.fraser at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=163569&action=review
> Source/WebCore/ChangeLog:21
> + A new internal API for setting a layer debug paint color is
introduced to
> + allow testing the changes. All further paint operations to the
associated
> + RenderLayerBacking are marked with the given color. The tests use
this feature
> + to detect redundant and missing repaints.
I'd prefer that we address this by making repaint testing work for composited
layers, rather than doing something that requires matching pixel output.
> Source/WebCore/rendering/RenderBox.cpp:663
> +void RenderBox::applyCachedClipAndScrollOffsetForRepaint(LayoutRect&
paintRect) const
> +{
> + paintRect.move(-scrolledContentOffset()); // For
overflow:auto/scroll/hidden.
> +
> + // Do not clip scroll layer contents to reduce the number of repaints
while scrolling.
> + if (hasOverflowClip() && hasLayer() &&
layer()->usesCompositedScrolling())
> + return;
> +
> + // height() is inaccurate if we're in the middle of a layout of this
RenderBox, so use the
> + // layer's size instead. Even if the layer's size is wrong, the layer
itself will repaint
> + // anyway if its size does change.
> + LayoutRect clipRect(LayoutPoint(), cachedSizeForOverflowClip());
> + paintRect = intersection(paintRect, clipRect);
> +}
Please do this refactor in its own patch.
More information about the webkit-reviews
mailing list