haikuwebkit/LayoutTests/tiled-drawing/tiled-backing-in-window-exp...

79 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic https://bugs.webkit.org/show_bug.cgi?id=167774 Reviewed by Tim Horton. Source/WebCore: RenderLayerBacking had some very confusing "usingTiledCacheLayer" uses. Its member variable, m_usingTiledCacheLayer, really meant "m_isMainFrameLayerWithTiledBacking" so make it so. It had a usingTiledBacking(), which returned the same thing, which this patch replaces with isMainFrameLayerWithTiledBacking(). The fact that usingTiledBacking() was only true for the page tiled layer tripped up RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants(), which would only ever call setIsInWindow() on the page tiled layer. These changes fix that. Also make a way for tests to unparent the web view via UIScriptController, and dump out the "in window" status of TileBackings when dumping tile caches. Test: tiled-drawing/tiled-backing-in-window.html * platform/graphics/TiledBacking.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::dumpAdditionalProperties): * platform/graphics/ca/TileController.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::computePageTiledBackingCoverage): (WebCore::RenderLayerBacking::adjustTiledBackingCoverage): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): (WebCore::RenderLayerBacking::shouldClipCompositedBounds): (WebCore::RenderLayerBacking::updateDescendantClippingLayer): (WebCore::RenderLayerBacking::updateRootLayerConfiguration): (WebCore::RenderLayerBacking::paintsIntoWindow): (WebCore::computeTileCoverage): Deleted. * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::flushPendingLayerChanges): (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): (WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants): (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing): (WebCore::RenderLayerCompositor::documentUsesTiledBacking): Tools: Implement UIScriptController removeViewFromWindow() and addViewToWindow(), and hook up for Mac WK1 and WK2, and iOS WK2. It takes a callback because view state updates to the web process are async, so the callback fires after the web process gets the new state. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * DumpRenderTree/mac/DumpRenderTree.mm: (createWebViewAndOffscreenWindow): (resetWebViewToConsistentStateBeforeTesting): * DumpRenderTree/mac/DumpRenderTreeMac.h: * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::addToWindow): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::addToWindow): * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): LayoutTests: Rebase to include the "in window" output. tiled-drawing/background-transparency-toggle.html was sensitive to the length of the output, so give the body a fixed size. * compositing/tiling/offscreen-tiled-layer-expected.txt: * compositing/tiling/transform-origin-tiled-expected.txt: * platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: * platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: * tiled-drawing/background-transparency-toggle-expected.txt: * tiled-drawing/background-transparency-toggle.html: * tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: * tiled-drawing/simple-document-with-margin-tiles-expected.txt: * tiled-drawing/tile-coverage-after-scroll-expected.txt: * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * tiled-drawing/tile-coverage-speculative-expected.txt: * tiled-drawing/tile-coverage-view-exposed-rect-expected.txt: * tiled-drawing/tile-size-both-scrollable-expected.txt: * tiled-drawing/tile-size-horizontally-scrollable-expected.txt: * tiled-drawing/tile-size-slow-zoomed-expected.txt: * tiled-drawing/tile-size-unscrollable-expected.txt: * tiled-drawing/tile-size-vertically-scrollable-expected.txt: * tiled-drawing/tile-size-view-exposed-rect-expected.txt: * tiled-drawing/tiled-backing-in-window-expected.txt: Added. * tiled-drawing/tiled-backing-in-window.html: Added. * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * tiled-drawing/tiled-drawing-zoom-expected.txt: * tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * tiled-drawing/use-tiled-drawing-expected.txt: * tiled-drawing/visible-rect-content-inset-expected.txt: Canonical link: https://commits.webkit.org/184865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-04 01:53:38 +00:00
Tiled box
(GraphicsLayer
(anchor 0.00 0.00)
(bounds 2208.00 1016.00)
(visible rect 0.00, 0.00 785.00 x 585.00)
(coverage rect 0.00, 0.00 785.00 x 585.00)
(intersects coverage rect 1)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(bounds 2208.00 1016.00)
(contentsOpaque 1)
(visible rect 0.00, 0.00 785.00 x 585.00)
(coverage rect 0.00, 0.00 785.00 x 585.00)
(intersects coverage rect 1)
(contentsScale 1.00)
(tile cache coverage 0, 0 1024 x 1016)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
(in window 1)
(children 1
(GraphicsLayer
(position 8.00 8.00)
(bounds 2200.00 200.00)
(usingTiledLayer 1)
(drawsContent 1)
(visible rect 0.00, 0.00 777.00 x 200.00)
(coverage rect -8.00, -8.00 785.00 x 585.00)
(intersects coverage rect 1)
(contentsScale 1.00)
(tile cache coverage 0, 0 1024 x 200)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 1)
(in window 1)
)
)
)
)
)
(GraphicsLayer
(anchor 0.00 0.00)
(bounds 2208.00 1016.00)
(visible rect 0.00, 0.00 785.00 x 585.00)
(coverage rect 0.00, 0.00 785.00 x 585.00)
(intersects coverage rect 1)
(contentsScale 1.00)
(children 1
(GraphicsLayer
(bounds 2208.00 1016.00)
(contentsOpaque 1)
(visible rect 0.00, 0.00 785.00 x 585.00)
(coverage rect 0.00, 0.00 785.00 x 585.00)
(intersects coverage rect 1)
(contentsScale 1.00)
(tile cache coverage 0, 0 1024 x 1016)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 2)
Safari pages are blank sometimes (missing tiles) https://bugs.webkit.org/show_bug.cgi?id=167904 Reviewed by Tim Horton. Source/WebCore: After r211683 we failed to udpate the "inWindow" flag on the page tiled layer, because usingTiledBacking() on GraphicsLayer confusingly was false for the page tiled layer. Fix by removing usingTiledBacking() entirely, and checking for tiledBacking(), looking at the layer type when necessary. Tested by tiled-drawing/tiled-backing-in-window.html * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer): (WebCore::GraphicsLayer::setIsInWindowIncludingDescendants): This is the bug fix. (WebCore::GraphicsLayer::getDebugBorderInfo): (WebCore::GraphicsLayer::dumpProperties): * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::usingTiledBacking): Deleted. * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): (WebCore::GraphicsLayerCA::changeLayerTypeTo): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::willDestroyLayer): (WebCore::RenderLayerBacking::compositingLayerType): * rendering/RenderLayerCompositor.cpp: A bit more logging. (WebCore::RenderLayerCompositor::setIsInWindow): (WebCore::RenderLayerCompositor::attachRootLayer): LayoutTests: New result; this test detected the bug. * tiled-drawing/tiled-backing-in-window-expected.txt: Canonical link: https://commits.webkit.org/184925@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-06 22:33:42 +00:00
(in window 0)
Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic https://bugs.webkit.org/show_bug.cgi?id=167774 Reviewed by Tim Horton. Source/WebCore: RenderLayerBacking had some very confusing "usingTiledCacheLayer" uses. Its member variable, m_usingTiledCacheLayer, really meant "m_isMainFrameLayerWithTiledBacking" so make it so. It had a usingTiledBacking(), which returned the same thing, which this patch replaces with isMainFrameLayerWithTiledBacking(). The fact that usingTiledBacking() was only true for the page tiled layer tripped up RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants(), which would only ever call setIsInWindow() on the page tiled layer. These changes fix that. Also make a way for tests to unparent the web view via UIScriptController, and dump out the "in window" status of TileBackings when dumping tile caches. Test: tiled-drawing/tiled-backing-in-window.html * platform/graphics/TiledBacking.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::dumpAdditionalProperties): * platform/graphics/ca/TileController.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::computePageTiledBackingCoverage): (WebCore::RenderLayerBacking::adjustTiledBackingCoverage): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): (WebCore::RenderLayerBacking::shouldClipCompositedBounds): (WebCore::RenderLayerBacking::updateDescendantClippingLayer): (WebCore::RenderLayerBacking::updateRootLayerConfiguration): (WebCore::RenderLayerBacking::paintsIntoWindow): (WebCore::computeTileCoverage): Deleted. * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::flushPendingLayerChanges): (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): (WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants): (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing): (WebCore::RenderLayerCompositor::documentUsesTiledBacking): Tools: Implement UIScriptController removeViewFromWindow() and addViewToWindow(), and hook up for Mac WK1 and WK2, and iOS WK2. It takes a callback because view state updates to the web process are async, so the callback fires after the web process gets the new state. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * DumpRenderTree/mac/DumpRenderTree.mm: (createWebViewAndOffscreenWindow): (resetWebViewToConsistentStateBeforeTesting): * DumpRenderTree/mac/DumpRenderTreeMac.h: * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::addToWindow): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::addToWindow): * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): LayoutTests: Rebase to include the "in window" output. tiled-drawing/background-transparency-toggle.html was sensitive to the length of the output, so give the body a fixed size. * compositing/tiling/offscreen-tiled-layer-expected.txt: * compositing/tiling/transform-origin-tiled-expected.txt: * platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: * platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: * tiled-drawing/background-transparency-toggle-expected.txt: * tiled-drawing/background-transparency-toggle.html: * tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: * tiled-drawing/simple-document-with-margin-tiles-expected.txt: * tiled-drawing/tile-coverage-after-scroll-expected.txt: * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * tiled-drawing/tile-coverage-speculative-expected.txt: * tiled-drawing/tile-coverage-view-exposed-rect-expected.txt: * tiled-drawing/tile-size-both-scrollable-expected.txt: * tiled-drawing/tile-size-horizontally-scrollable-expected.txt: * tiled-drawing/tile-size-slow-zoomed-expected.txt: * tiled-drawing/tile-size-unscrollable-expected.txt: * tiled-drawing/tile-size-vertically-scrollable-expected.txt: * tiled-drawing/tile-size-view-exposed-rect-expected.txt: * tiled-drawing/tiled-backing-in-window-expected.txt: Added. * tiled-drawing/tiled-backing-in-window.html: Added. * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * tiled-drawing/tiled-drawing-zoom-expected.txt: * tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * tiled-drawing/use-tiled-drawing-expected.txt: * tiled-drawing/visible-rect-content-inset-expected.txt: Canonical link: https://commits.webkit.org/184865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-04 01:53:38 +00:00
(children 1
(GraphicsLayer
(position 8.00 8.00)
(bounds 2200.00 200.00)
(usingTiledLayer 1)
(drawsContent 1)
(visible rect 0.00, 0.00 777.00 x 200.00)
(coverage rect -8.00, -8.00 785.00 x 585.00)
Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic https://bugs.webkit.org/show_bug.cgi?id=167774 Reviewed by Tim Horton. Source/WebCore: RenderLayerBacking had some very confusing "usingTiledCacheLayer" uses. Its member variable, m_usingTiledCacheLayer, really meant "m_isMainFrameLayerWithTiledBacking" so make it so. It had a usingTiledBacking(), which returned the same thing, which this patch replaces with isMainFrameLayerWithTiledBacking(). The fact that usingTiledBacking() was only true for the page tiled layer tripped up RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants(), which would only ever call setIsInWindow() on the page tiled layer. These changes fix that. Also make a way for tests to unparent the web view via UIScriptController, and dump out the "in window" status of TileBackings when dumping tile caches. Test: tiled-drawing/tiled-backing-in-window.html * platform/graphics/TiledBacking.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::dumpAdditionalProperties): * platform/graphics/ca/TileController.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::computePageTiledBackingCoverage): (WebCore::RenderLayerBacking::adjustTiledBackingCoverage): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): (WebCore::RenderLayerBacking::shouldClipCompositedBounds): (WebCore::RenderLayerBacking::updateDescendantClippingLayer): (WebCore::RenderLayerBacking::updateRootLayerConfiguration): (WebCore::RenderLayerBacking::paintsIntoWindow): (WebCore::computeTileCoverage): Deleted. * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::flushPendingLayerChanges): (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): (WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants): (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing): (WebCore::RenderLayerCompositor::documentUsesTiledBacking): Tools: Implement UIScriptController removeViewFromWindow() and addViewToWindow(), and hook up for Mac WK1 and WK2, and iOS WK2. It takes a callback because view state updates to the web process are async, so the callback fires after the web process gets the new state. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * DumpRenderTree/mac/DumpRenderTree.mm: (createWebViewAndOffscreenWindow): (resetWebViewToConsistentStateBeforeTesting): * DumpRenderTree/mac/DumpRenderTreeMac.h: * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::addToWindow): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::addToWindow): * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): LayoutTests: Rebase to include the "in window" output. tiled-drawing/background-transparency-toggle.html was sensitive to the length of the output, so give the body a fixed size. * compositing/tiling/offscreen-tiled-layer-expected.txt: * compositing/tiling/transform-origin-tiled-expected.txt: * platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: * platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt: * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: * tiled-drawing/background-transparency-toggle-expected.txt: * tiled-drawing/background-transparency-toggle.html: * tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: * tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: * tiled-drawing/simple-document-with-margin-tiles-expected.txt: * tiled-drawing/tile-coverage-after-scroll-expected.txt: * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * tiled-drawing/tile-coverage-speculative-expected.txt: * tiled-drawing/tile-coverage-view-exposed-rect-expected.txt: * tiled-drawing/tile-size-both-scrollable-expected.txt: * tiled-drawing/tile-size-horizontally-scrollable-expected.txt: * tiled-drawing/tile-size-slow-zoomed-expected.txt: * tiled-drawing/tile-size-unscrollable-expected.txt: * tiled-drawing/tile-size-vertically-scrollable-expected.txt: * tiled-drawing/tile-size-view-exposed-rect-expected.txt: * tiled-drawing/tiled-backing-in-window-expected.txt: Added. * tiled-drawing/tiled-backing-in-window.html: Added. * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * tiled-drawing/tiled-drawing-zoom-expected.txt: * tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * tiled-drawing/use-tiled-drawing-expected.txt: * tiled-drawing/visible-rect-content-inset-expected.txt: Canonical link: https://commits.webkit.org/184865@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-04 01:53:38 +00:00
(intersects coverage rect 1)
(contentsScale 1.00)
(tile cache coverage 0, 0 1024 x 200)
(tile size 512 x 512)
(top left tile 0, 0 tiles grid 2 x 1)
(in window 0)
)
)
)
)
)