haikuwebkit/LayoutTests/tiled-drawing/simple-document-with-margin...

24 lines
620 B
Plaintext
Raw Permalink Normal View History

Need a way to test the tile cache with margins enabled https://bugs.webkit.org/show_bug.cgi?id=127194 -and corresponding- <rdar://problem/15571327> Reviewed by Tim Horton. Source/WebCore: This patch adds a new function to InternalSettings that will allow layout tests to flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also makes changing that setting take effect immediately. To make this setting dynamic, we can no longer generate the Setting function, so we have to export the symbol manually. * WebCore.exp.in: This new function on FrameView will call into RenderLayerBacking to add or remove margins. * page/FrameView.cpp: (WebCore::FrameView::setBackgroundExtendsBeyondPage): * page/FrameView.h: Again, we’re no longer using the boiler-plate generated Setting functions, so now we can call into FrameView to make the background extend. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setBackgroundShouldExtendBeyondPage): * page/Settings.h: (WebCore::Settings::backgroundShouldExtendBeyondPage): * page/Settings.in: Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change dynamic. * platform/graphics/ca/mac/TileController.mm: (WebCore::TileController::setTileMargins): Move the call to TiledBacking::setTileMargins() into a helper function so that the same code can be used for FrameView. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): * rendering/RenderLayerBacking.h: New InternalSetting. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: Attempt to keep Windows building. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: LayoutTests: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added. * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added. Canonical link: https://commits.webkit.org/145196@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-18 00:05:59 +00:00
(GraphicsLayer
Top content inset: Margin tiles should not display in the inset area when pinned to the top of the page https://bugs.webkit.org/show_bug.cgi?id=132535 -and corresponding- <rdar://problem/16613039> Reviewed by Simon Fraser. Source/WebCore: Prior to this change, topContentInset was implemented by positioning RenderLayerCompositor’s m_rootContentLayer based on the inset value. In order to ensure that no content is displayed in the inset area when we are pinned to the top of the page, we’ll have to take a different approach. In this patch, when you are pinned to the top of the page, the m_rootContentLayer is positioned at (0,0), much like it would be without an inset, but the m_clip layer IS positioned at (0, topContentInset). Then for all y-scroll values between 0 and topContentInset, the positions of the clip layer and the contents layer are adjusted so that the clip layer approaches a position of (0,0), and the root layer approaches a position of (0, topContentInset). This makes sure that any content above the top the document is aways clipped out of the inset area. In order to achieve this, the scrolling thread needs to know about the topContentInset, the clip layer, and the root contents layer. AsyncScrollingCoordinator::updateScrollingNode() now takes an additional parameter for the clip layer. Also export the topContentInset symbol for UI-side compositing. * WebCore.exp.in: Here is the new computation. Implemented in one spot that can be called from the scrolling thread, AsyncScrollingCoordinator and RenderLayerCompositor. * page/FrameView.cpp: (WebCore::FrameView::yPositionForInsetClipLayer): (WebCore::FrameView::yPositionForRootContentLayer): * page/FrameView.h: Set the topContentInset, the insetClipLayer, and the scrolledContentsLayer when appropriate. * page/scrolling/AsyncScrollingCoordinator.cpp: (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange): Set or sync the positions for the inset layer and the contents layer. (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): (WebCore::AsyncScrollingCoordinator::updateScrollingNode): * page/scrolling/AsyncScrollingCoordinator.h: Convenience functions for getting the clipLayer() and the rootContentLayer() from the RenderLayerCompositor. * page/scrolling/ScrollingCoordinator.cpp: (WebCore::ScrollingCoordinator::insetClipLayerForFrameView): (WebCore::ScrollingCoordinator::rootContentLayerForFrameView): * page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::updateScrollingNode): ScrollingStateScrolling nodes have two new members now. m_insetClipLayer and m_topContentInset. We can use m_scrolledContentsLayer for the rootContentsLayer since previously that member was not used for FrameViews; it was only used for accelerated overflow:scroll nodes. * page/scrolling/ScrollingStateScrollingNode.cpp: (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): (WebCore::ScrollingStateScrollingNode::setTopContentInset): (WebCore::ScrollingStateScrollingNode::setInsetClipLayer): * page/scrolling/ScrollingStateScrollingNode.h: Similarly, ScrollingTreeScrollingNode has two new members for m_topContentInset and m_clipLayer. * page/scrolling/ScrollingTreeScrollingNode.cpp: (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode): (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren): * page/scrolling/ScrollingTreeScrollingNode.h: (WebCore::ScrollingTreeScrollingNode::topContentInset): * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h: * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm: (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren): Compute positions for the two new layers. (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): Now use the static FrameView functions to compute the positions for these layers. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::frameViewDidChangeSize): (WebCore::RenderLayerCompositor::positionForClipLayer): (WebCore::RenderLayerCompositor::clipLayer): (WebCore::RenderLayerCompositor::rootContentLayer): (WebCore::RenderLayerCompositor::updateRootLayerPosition): (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): (WebCore::RenderLayerCompositor::ensureRootLayer): (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): * rendering/RenderLayerCompositor.h: Source/WebKit2: Encode and decode the ScrollingStateScrollingNode’s m_topContentInset even though we don’t use it for anything yet. Since the headerLayer and footerLayer are not encoded or decoded yet, I did not encode/decode the insetClipLayer yet, which, like the header and footer layers, would not yet be used. * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: (ArgumentCoder<ScrollingStateScrollingNode>::encode): (ArgumentCoder<ScrollingStateScrollingNode>::decode): LayoutTests: Anchor point! * compositing/absolute-inside-out-of-view-fixed-expected.txt: * compositing/animation/filling-animation-overlap-at-end-expected.txt: * compositing/animation/filling-animation-overlap-expected.txt: * compositing/animation/layer-for-filling-animation-expected.txt: * compositing/backing/backface-visibility-in-3dtransformed-expected.txt: * compositing/backing/no-backing-for-clip-expected.txt: * compositing/backing/no-backing-for-clip-overhang-expected.txt: * compositing/backing/no-backing-for-clip-overlap-expected.txt: * compositing/backing/no-backing-for-perspective-expected.txt: * compositing/bounds-in-flipped-writing-mode-expected.txt: * compositing/clip-child-by-non-stacking-ancestor-expected.txt: * compositing/columns/ancestor-clipped-in-paginated-expected.txt: * compositing/columns/clipped-in-paginated-expected.txt: * compositing/columns/composited-columns-expected.txt: * compositing/columns/composited-columns-vertical-rl-expected.txt: * compositing/columns/composited-in-paginated-expected.txt: * compositing/columns/composited-in-paginated-rl-expected.txt: * compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt: * compositing/columns/composited-lr-paginated-repaint-expected.txt: * compositing/columns/composited-nested-columns-expected.txt: * compositing/columns/composited-rl-paginated-repaint-expected.txt: * compositing/columns/hittest-composited-in-paginated-expected.txt: * compositing/columns/rotated-in-paginated-expected.txt: * compositing/columns/untransformed-composited-in-paginated-expected.txt: * compositing/contents-opaque/background-clip-expected.txt: * compositing/contents-opaque/background-color-expected.txt: * compositing/contents-opaque/body-background-painted-expected.txt: * compositing/contents-opaque/body-background-skipped-expected.txt: * compositing/contents-opaque/filter-expected.txt: * compositing/contents-opaque/hidden-with-visible-child-expected.txt: * compositing/contents-opaque/hidden-with-visible-text-expected.txt: * compositing/contents-opaque/layer-opacity-expected.txt: * compositing/contents-opaque/layer-transform-expected.txt: * compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: * compositing/contents-opaque/visibility-hidden-expected.txt: * compositing/contents-scale/animating-expected.txt: * compositing/contents-scale/rounded-contents-scale-expected.txt: * compositing/contents-scale/scaled-ancestor-expected.txt: * compositing/contents-scale/simple-scale-expected.txt: * compositing/contents-scale/z-translate-expected.txt: * compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: * compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: * compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: * compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: * compositing/geometry/ancestor-overflow-change-expected.txt: * compositing/geometry/bounds-clipped-composited-child-expected.txt: * compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt: * compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt: * compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt: * compositing/geometry/bounds-ignores-hidden-expected.txt: * compositing/geometry/clip-expected.txt: * compositing/geometry/clip-inside-expected.txt: * compositing/geometry/composited-in-columns-expected.txt: * compositing/geometry/fixed-position-flipped-writing-mode-expected.txt: * compositing/geometry/flipped-writing-mode-expected.txt: * compositing/geometry/foreground-layer-expected.txt: * compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt: * compositing/geometry/layer-due-to-layer-children-switch-expected.txt: * compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: * compositing/geometry/limit-layer-bounds-fixed-expected.txt: * compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt: * compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: * compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: * compositing/geometry/limit-layer-bounds-positioned-expected.txt: * compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: * compositing/geometry/limit-layer-bounds-transformed-expected.txt: * compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: * compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: * compositing/geometry/preserve-3d-switching-expected.txt: * compositing/iframes/become-composited-nested-iframes-expected.txt: * compositing/iframes/become-overlapped-iframe-expected.txt: * compositing/iframes/composited-parent-iframe-expected.txt: * compositing/iframes/connect-compositing-iframe-delayed-expected.txt: * compositing/iframes/connect-compositing-iframe-expected.txt: * compositing/iframes/connect-compositing-iframe2-expected.txt: * compositing/iframes/connect-compositing-iframe3-expected.txt: * compositing/iframes/enter-compositing-iframe-expected.txt: * compositing/iframes/iframe-resize-expected.txt: * compositing/iframes/iframe-size-from-zero-expected.txt: * compositing/iframes/invisible-nested-iframe-hide-expected.txt: * compositing/iframes/overlapped-iframe-expected.txt: * compositing/iframes/overlapped-iframe-iframe-expected.txt: * compositing/iframes/overlapped-nested-iframes-expected.txt: * compositing/iframes/page-cache-layer-tree-expected.txt: * compositing/iframes/scrolling-iframe-expected.txt: * compositing/images/clip-on-directly-composited-image-expected.txt: * compositing/layer-creation/animation-overlap-with-children-expected.txt: * compositing/layer-creation/fixed-position-and-transform-expected.txt: * compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt: * compositing/layer-creation/fixed-position-out-of-view-expected.txt: * compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: * compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: * compositing/layer-creation/fixed-position-transformed-into-view-expected.txt: * compositing/layer-creation/fixed-position-under-transform-expected.txt: * compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: * compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: * compositing/layer-creation/overflow-scroll-overlap-expected.txt: * compositing/layer-creation/overlap-animation-clipping-expected.txt: * compositing/layer-creation/overlap-animation-expected.txt: * compositing/layer-creation/overlap-child-layer-expected.txt: * compositing/layer-creation/overlap-clipping-expected.txt: * compositing/layer-creation/overlap-transformed-3d-expected.txt: * compositing/layer-creation/overlap-transformed-and-clipped-expected.txt: * compositing/layer-creation/overlap-transformed-layer-expected.txt: * compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt: * compositing/layer-creation/overlap-transforms-expected.txt: * compositing/layer-creation/rotate3d-overlap-expected.txt: * compositing/layer-creation/scroll-partial-update-expected.txt: * compositing/layer-creation/spanOverlapsCanvas-expected.txt: * compositing/layer-creation/stacking-context-overlap-expected.txt: * compositing/layer-creation/stacking-context-overlap-nested-expected.txt: * compositing/layer-creation/translatez-overlap-expected.txt: * compositing/masks/mask-layer-size-expected.txt: * compositing/overflow-trumps-transform-style-expected.txt: * compositing/overflow/clip-descendents-expected.txt: * compositing/overflow/content-gains-scrollbars-expected.txt: * compositing/overflow/content-loses-scrollbars-expected.txt: * compositing/overflow/overflow-scrollbar-layer-positions-expected.txt: * compositing/overflow/overflow-scrollbar-layers-expected.txt: * compositing/overflow/resize-painting-expected.txt: * compositing/plugins/no-backing-store-expected.txt: * compositing/plugins/small-to-large-composited-plugin-expected.txt: * compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt: * compositing/regions/fixed-in-named-flow-expected.txt: * compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt: * compositing/regions/fixed-in-named-flow-from-outflow-expected.txt: * compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt: * compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt: * compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt: * compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt: * compositing/regions/fixed-transformed-in-named-flow-expected.txt: * compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt: * compositing/repaint/fixed-background-scroll-expected.txt: * compositing/repaint/positioned-movement-expected.txt: * compositing/repaint/repaint-on-layer-grouping-change-expected.txt: * compositing/repaint/resize-repaint-expected.txt: * compositing/rtl/rtl-absolute-expected.txt: * compositing/rtl/rtl-absolute-overflow-expected.txt: * compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: * compositing/rtl/rtl-fixed-expected.txt: * compositing/rtl/rtl-fixed-overflow-expected.txt: * compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: * compositing/rtl/rtl-relative-expected.txt: * compositing/tiled-layers-hidpi-expected.txt: * compositing/visibility/layer-visible-content-expected.txt: * platform/mac-wk2/compositing/contents-opaque/body-background-painted-expected.txt: * platform/mac-wk2/compositing/contents-opaque/body-background-skipped-expected.txt: * platform/mac-wk2/compositing/repaint/fixed-background-scroll-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-absolute-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-fixed-expected.txt: * platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-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-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: * platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-no-image-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-body-layer-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-opacity-html-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-positioned-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-transformed-html-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-body-background-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-html-background-expected.txt: * platform/mac-wk2/tiled-drawing/fixed-background/fixed-non-propagated-body-background-expected.txt: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: * platform/mac-wk2/tiled-drawing/sticky/sticky-layers-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt: * platform/mac/compositing/canvas/accelerated-canvas-compositing-expected.txt: * platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt: * platform/mac/compositing/iframes/invisible-nested-iframe-show-expected.txt: * platform/mac/compositing/iframes/resizer-expected.txt: * platform/mac/compositing/images/direct-image-object-fit-expected.txt: * platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt: * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt: * platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt: * platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: * platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt: * platform/mac/compositing/reflections/direct-image-object-fit-reflected-expected.txt: * platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt: * platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt: * platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt: * platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt: * platform/mac/compositing/tiling/huge-layer-img-expected.txt: * platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt: * platform/mac/compositing/tiling/huge-layer-with-layer-children-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/tile-cache-zoomed-expected.txt: * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: * platform/mac/compositing/video/video-object-fit-expected.txt: * platform/mac/compositing/visible-rect/2d-transformed-expected.txt: * platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: * platform/mac/compositing/visible-rect/3d-transformed-expected.txt: * platform/mac/compositing/visible-rect/animated-expected.txt: * platform/mac/compositing/visible-rect/animated-from-none-expected.txt: * platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: * platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: * platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: * platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: * platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt: * platform/mac/compositing/visible-rect/nested-transform-expected.txt: * platform/mac/compositing/visible-rect/scrolled-expected.txt: Canonical link: https://commits.webkit.org/150565@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-04 20:40:40 +00:00
(anchor 0.00 0.00)
Need a way to test the tile cache with margins enabled https://bugs.webkit.org/show_bug.cgi?id=127194 -and corresponding- <rdar://problem/15571327> Reviewed by Tim Horton. Source/WebCore: This patch adds a new function to InternalSettings that will allow layout tests to flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also makes changing that setting take effect immediately. To make this setting dynamic, we can no longer generate the Setting function, so we have to export the symbol manually. * WebCore.exp.in: This new function on FrameView will call into RenderLayerBacking to add or remove margins. * page/FrameView.cpp: (WebCore::FrameView::setBackgroundExtendsBeyondPage): * page/FrameView.h: Again, we’re no longer using the boiler-plate generated Setting functions, so now we can call into FrameView to make the background extend. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setBackgroundShouldExtendBeyondPage): * page/Settings.h: (WebCore::Settings::backgroundShouldExtendBeyondPage): * page/Settings.in: Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change dynamic. * platform/graphics/ca/mac/TileController.mm: (WebCore::TileController::setTileMargins): Move the call to TiledBacking::setTileMargins() into a helper function so that the same code can be used for FrameView. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): * rendering/RenderLayerBacking.h: New InternalSetting. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: Attempt to keep Windows building. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: LayoutTests: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added. * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added. Canonical link: https://commits.webkit.org/145196@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-18 00:05:59 +00:00
(bounds 1208.00 2021.00)
(visible rect 0.00, 0.00 785.00 x 585.00)
Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached https://bugs.webkit.org/show_bug.cgi?id=144165 Reviewed by Dean Jackson. New results for platform/mac-wk2/tiled-drawing tests that dump layer trees. * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt: * platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Canonical link: https://commits.webkit.org/162167@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-25 01:02:59 +00:00
(coverage rect 0.00, 0.00 785.00 x 585.00)
(intersects coverage rect 1)
Need a way to test the tile cache with margins enabled https://bugs.webkit.org/show_bug.cgi?id=127194 -and corresponding- <rdar://problem/15571327> Reviewed by Tim Horton. Source/WebCore: This patch adds a new function to InternalSettings that will allow layout tests to flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also makes changing that setting take effect immediately. To make this setting dynamic, we can no longer generate the Setting function, so we have to export the symbol manually. * WebCore.exp.in: This new function on FrameView will call into RenderLayerBacking to add or remove margins. * page/FrameView.cpp: (WebCore::FrameView::setBackgroundExtendsBeyondPage): * page/FrameView.h: Again, we’re no longer using the boiler-plate generated Setting functions, so now we can call into FrameView to make the background extend. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setBackgroundShouldExtendBeyondPage): * page/Settings.h: (WebCore::Settings::backgroundShouldExtendBeyondPage): * page/Settings.in: Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change dynamic. * platform/graphics/ca/mac/TileController.mm: (WebCore::TileController::setTileMargins): Move the call to TiledBacking::setTileMargins() into a helper function so that the same code can be used for FrameView. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): * rendering/RenderLayerBacking.h: New InternalSetting. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: Attempt to keep Windows building. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: LayoutTests: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added. * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added. Canonical link: https://commits.webkit.org/145196@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-18 00:05:59 +00:00
(contentsScale 1.00)
(children 1
(GraphicsLayer
(bounds 1208.00 2021.00)
(contentsOpaque 1)
(visible rect 0.00, 0.00 785.00 x 585.00)
Adjust tile coverage with margin tiles, and tidy up the indicator https://bugs.webkit.org/show_bug.cgi?id=152742 Reviewed by Beth Dakin. Source/WebCore: The tile coverage rect was unfeasibly large when margin tiles are present, and could be bigger than the layer itself, making the indicator look odd. Fix by improving the logic in TileController::adjustTileCoverageRect(): this now first extends the visible rect for scrolling, and then constrains it within the bounds with margin padding. It also unites with the passed-in coverageRect, ensuring that we don't lose information about overhang for margin tile coverage. Second, update the tiled scrolling indicator when the visible rect changes, and coalesce the map updates on a timer. * platform/graphics/TiledBacking.h: * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::adjustCoverageRect): * platform/graphics/ca/TileController.cpp: (WebCore::TileController::setVisibleRect): (WebCore::TileController::setTiledScrollingIndicatorPosition): (WebCore::expandRectWithinRect): (WebCore::TileController::adjustTileCoverageRect): (WebCore::TileController::updateTileCoverageMap): (WebCore::TileController::computeTileCoverageRect): Deleted. * platform/graphics/ca/TileController.h: * platform/graphics/ca/TileCoverageMap.cpp: (WebCore::TileCoverageMap::TileCoverageMap): (WebCore::TileCoverageMap::setNeedsUpdate): (WebCore::TileCoverageMap::updateTimerFired): * platform/graphics/ca/TileCoverageMap.h: LayoutTests: New baselines. simple-document-with-margin-tiles.html needs to wait for over 0.5s for the FrameView::enableSpeculativeTilingIfNeeded() timer to fire before dumping coverage (ouch). * 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/simple-document-with-margin-tiles.html: Canonical link: https://commits.webkit.org/170843@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-01-05 22:09:20 +00:00
(coverage rect -392.50, -512.00 1570.00 x 1755.00)
Track a coverage rect through GraphicsLayerCA flushes, use it to mark backing store attached https://bugs.webkit.org/show_bug.cgi?id=144165 Reviewed by Dean Jackson. New results for platform/mac-wk2/tiled-drawing tests that dump layer trees. * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: * platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-slow-scrolling-expected.txt: * platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt: * platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt: * platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: * platform/mac-wk2/tiled-drawing/use-tiled-drawing-expected.txt: * platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Canonical link: https://commits.webkit.org/162167@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-25 01:02:59 +00:00
(intersects coverage rect 1)
Need a way to test the tile cache with margins enabled https://bugs.webkit.org/show_bug.cgi?id=127194 -and corresponding- <rdar://problem/15571327> Reviewed by Tim Horton. Source/WebCore: This patch adds a new function to InternalSettings that will allow layout tests to flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also makes changing that setting take effect immediately. To make this setting dynamic, we can no longer generate the Setting function, so we have to export the symbol manually. * WebCore.exp.in: This new function on FrameView will call into RenderLayerBacking to add or remove margins. * page/FrameView.cpp: (WebCore::FrameView::setBackgroundExtendsBeyondPage): * page/FrameView.h: Again, we’re no longer using the boiler-plate generated Setting functions, so now we can call into FrameView to make the background extend. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setBackgroundShouldExtendBeyondPage): * page/Settings.h: (WebCore::Settings::backgroundShouldExtendBeyondPage): * page/Settings.in: Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change dynamic. * platform/graphics/ca/mac/TileController.mm: (WebCore::TileController::setTileMargins): Move the call to TiledBacking::setTileMargins() into a helper function so that the same code can be used for FrameView. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): * rendering/RenderLayerBacking.h: New InternalSetting. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: Attempt to keep Windows building. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: LayoutTests: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added. * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added. Canonical link: https://commits.webkit.org/145196@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-18 00:05:59 +00:00
(contentsScale 1.00)
(tile cache coverage -512, -512 2048 x 2048)
(tile size 512 x 512)
(top left tile -1, -1 tiles grid 4 x 4)
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
(in window 1)
Need a way to test the tile cache with margins enabled https://bugs.webkit.org/show_bug.cgi?id=127194 -and corresponding- <rdar://problem/15571327> Reviewed by Tim Horton. Source/WebCore: This patch adds a new function to InternalSettings that will allow layout tests to flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also makes changing that setting take effect immediately. To make this setting dynamic, we can no longer generate the Setting function, so we have to export the symbol manually. * WebCore.exp.in: This new function on FrameView will call into RenderLayerBacking to add or remove margins. * page/FrameView.cpp: (WebCore::FrameView::setBackgroundExtendsBeyondPage): * page/FrameView.h: Again, we’re no longer using the boiler-plate generated Setting functions, so now we can call into FrameView to make the background extend. * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setBackgroundShouldExtendBeyondPage): * page/Settings.h: (WebCore::Settings::backgroundShouldExtendBeyondPage): * page/Settings.in: Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change dynamic. * platform/graphics/ca/mac/TileController.mm: (WebCore::TileController::setTileMargins): Move the call to TiledBacking::setTileMargins() into a helper function so that the same code can be used for FrameView. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::setTiledBackingHasMargins): * rendering/RenderLayerBacking.h: New InternalSetting. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit: Attempt to keep Windows building. * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: LayoutTests: * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles-expected.txt: Added. * platform/mac-wk2/tiled-drawing/simple-document-with-margin-tiles.html: Added. Canonical link: https://commits.webkit.org/145196@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162230 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-18 00:05:59 +00:00
)
)
)