Avoid border radius clipping when painting scrolling background
This patch fixes an under paint invalidation issue related to border-radius on a scrolling element. Before this change we were applying border radius clipping twice, on the container and on the scrolling background. This was producing an unnecessary change of background painting when border radius changes, thus the under-invalidation problem. To fix this we're avoiding to apply the border radius clipping when painting the scrolling background. The main change is at BoxPainterBase::FillLayerInfo::FillLayerInfo() which gets a new parameter is_painting_scrolling_background, we use it to avoid setting is_rounded_fill to true. The test expectation is modified so it also uses composition by setting "will-change: transform" on the "scroller". Also the "fixed" elements is moved out of the "scroller" as the "scroller" is now its containing block, otherwise it wouldn't be visible, BUG=1025019 TEST=compositing/overflow/scroller-with-border-radius.html Change-Id: Ib9b6e2e8b4e8ee42dec413c69b853a3f06336774 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1984312 Commit-Queue: Manuel Rego <rego@igalia.com> Reviewed-by:Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#729517}
Showing
Please register or sign in to comment