haikuwebkit/LayoutTests/compositing/backing/backing-store-attachment-sc...

72 lines
1.5 KiB
Plaintext
Raw Permalink Normal View History

Composited and tiled layers fail to update on scrolling in WebView https://bugs.webkit.org/show_bug.cgi?id=191821 rdar://problem/46009272 Reviewed by Zalan Bujtas. Source/WebCore: We relied on AppKit calling -[NSView viewWillDraw] on scrolling to trigger compositing layer flushes which are necessary to update backing store attachment, and tile coverage for tiled layers. However, we no longer get these reliably in WebView, so explicitly trigger flushes if necessary from FrameView::scrollOffsetChangedViaPlatformWidgetImpl(). didChangeVisibleRect() is the same code path used by iOS UIWebView for the same purpose. Tests: compositing/backing/backing-store-attachment-scroll.html compositing/tiling/tile-coverage-on-scroll.html * page/FrameView.cpp: (WebCore::FrameView::scrollOffsetChangedViaPlatformWidgetImpl): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateCoverage): LayoutTests: Tests for backing store attachment, and tile coverage before and after scrolling. * compositing/backing/backing-store-attachment-scroll-expected.txt: Added. * compositing/backing/backing-store-attachment-scroll.html: Added. * compositing/tiling/tile-coverage-on-scroll-expected.txt: Added. * compositing/tiling/tile-coverage-on-scroll.html: Added. * platform/mac-wk1/compositing/tiling/tile-coverage-on-scroll-expected.txt: Added. Root isn't tiled on WK1, so different result. Canonical link: https://commits.webkit.org/206733@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-11-27 21:50:03 +00:00
Before
(GraphicsLayer
(anchor 0.00 0.00)
(bounds 785.00 2916.00)
(backingStoreAttached 1)
(children 1
(GraphicsLayer
(bounds 785.00 2916.00)
(contentsOpaque 1)
(backingStoreAttached 1)
(children 3
(GraphicsLayer
(position 8.00 8.00)
(bounds 300.00 300.00)
(drawsContent 1)
(backingStoreAttached 1)
)
(GraphicsLayer
(position 8.00 1308.00)
(bounds 300.00 300.00)
(drawsContent 1)
(backingStoreAttached 0)
)
(GraphicsLayer
(position 8.00 2608.00)
(bounds 300.00 300.00)
(drawsContent 1)
(backingStoreAttached 0)
)
)
)
)
)
After
(GraphicsLayer
(anchor 0.00 0.00)
(bounds 785.00 2916.00)
(backingStoreAttached 1)
(children 1
(GraphicsLayer
(bounds 785.00 2916.00)
(contentsOpaque 1)
(backingStoreAttached 1)
(children 3
(GraphicsLayer
(position 8.00 8.00)
(bounds 300.00 300.00)
(drawsContent 1)
(backingStoreAttached 0)
)
(GraphicsLayer
(position 8.00 1308.00)
(bounds 300.00 300.00)
(drawsContent 1)
(backingStoreAttached 0)
)
(GraphicsLayer
(position 8.00 2608.00)
(bounds 300.00 300.00)
(drawsContent 1)
(backingStoreAttached 1)
)
)
)
)
)
First layer.
Second layer.
Third layer.