haikuwebkit/LayoutTests/tiled-drawing/fixed-background-scroll-rep...

7 lines
116 B
Plaintext
Raw Permalink Normal View History

Too much repainting on scrolling with fixed backgrounds https://bugs.webkit.org/show_bug.cgi?id=143637 rdar://problem/20245243 Reviewed by Darin Adler. Source/WebCore: FrameView::scrollContentsSlowPath() would repaint the entire viewport if there were any slow-repaint objects (those with background-attachment: fixed) and the contents were using compositing for scrolling. This is wrong; we only need to issue repaint for the slow-repaint renderers, and, if the frame is hosted in a compositing layer and not using compositing for scrolling, repaint that hosting layer. Tests: compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html compositing/repaint/iframes/compositing-iframe-scroll-repaint.html compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint.html platform/mac-wk2/tiled-drawing/fixed-background-scroll-repaint.html * page/FrameView.cpp: (WebCore::FrameView::scrollContentsSlowPath): LayoutTests: Tests with various configurations of iframes and compositing, which dump layer trees with repaint rectangles. Also tiled-scrolling test that exercises the simple case. Put WebKit1-specific results in platform/mac-wk1, since they are very different from WK2 and other platforms, due to WK1-specific layer hosting and repaint behaviors. * compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added. * compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint.html: Added. * compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt: Added. * compositing/repaint/iframes/compositing-iframe-scroll-repaint.html: Added. * compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint-expected.txt: Added. * compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint.html: Added. * compositing/repaint/iframes/resources/compositing-document.html: Added. * compositing/repaint/iframes/resources/compositing-fixed-background-document.html: Added. * compositing/repaint/iframes/resources/fixed-background-document.html: Added. * platform/mac-wk1/compositing/repaint/iframes/composited-iframe-with-fixed-background-doc-repaint-expected.txt: Added. * platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-scroll-repaint-expected.txt: Added. * platform/mac-wk1/compositing/repaint/iframes/compositing-iframe-with-fixed-background-doc-repaint-expected.txt: Added. * platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background-scroll-repaint-expected.txt: Added. * platform/mac-wk2/tiled-drawing/fixed-background-scroll-repaint.html: Added. Canonical link: https://commits.webkit.org/161667@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-12 17:30:58 +00:00
We should only repaint the bounds of the element with a fixed background.
(repaint rects
(rect 8 -50 252 202)
)