Changeset 211662 in webkit
- Timestamp:
- Feb 3, 2017, 5:53:38 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 83 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/compositing/tiling/offscreen-tiled-layer-expected.txt (modified) (2 diffs)
-
LayoutTests/compositing/tiling/transform-origin-tiled-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/ios-simulator-wk2/compositing/tiling/offscreen-tiled-layer-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/ios-simulator-wk2/compositing/tiling/tile-cache-zoomed-expected.txt (modified) (1 diff)
-
LayoutTests/platform/ios-simulator-wk2/compositing/tiling/tiled-layer-resize-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/ios-simulator-wk2/compositing/tiling/transform-origin-tiled-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac/compositing/tiling/tiled-layer-resize-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/background-transparency-toggle-expected.txt (modified) (4 diffs)
-
LayoutTests/tiled-drawing/background-transparency-toggle.html (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/simple-document-with-margin-tiles-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-coverage-after-scroll-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-coverage-slow-scrolling-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-coverage-speculative-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-coverage-view-exposed-rect-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-size-both-scrollable-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-size-horizontally-scrollable-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-size-slow-zoomed-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-size-unscrollable-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-size-vertically-scrollable-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tile-size-view-exposed-rect-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tiled-backing-in-window-expected.txt (added)
-
LayoutTests/tiled-drawing/tiled-backing-in-window.html (added)
-
LayoutTests/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tiled-drawing-zoom-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/use-tiled-drawing-expected.txt (modified) (1 diff)
-
LayoutTests/tiled-drawing/visible-rect-content-inset-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/platform/graphics/TiledBacking.h (modified) (1 diff)
-
Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp (modified) (1 diff)
-
Source/WebCore/platform/graphics/ca/TileController.h (modified) (2 diffs)
-
Source/WebCore/rendering/RenderLayerBacking.cpp (modified) (9 diffs)
-
Source/WebCore/rendering/RenderLayerBacking.h (modified) (4 diffs)
-
Source/WebCore/rendering/RenderLayerCompositor.cpp (modified) (6 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm (modified) (1 diff)
-
Tools/DumpRenderTree/mac/DumpRenderTree.mm (modified) (3 diffs)
-
Tools/DumpRenderTree/mac/DumpRenderTreeMac.h (modified) (1 diff)
-
Tools/DumpRenderTree/mac/UIScriptControllerMac.mm (modified) (2 diffs)
-
Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl (modified) (2 diffs)
-
Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp (modified) (1 diff)
-
Tools/TestRunnerShared/UIScriptContext/UIScriptController.h (modified) (1 diff)
-
Tools/WebKitTestRunner/PlatformWebView.h (modified) (1 diff)
-
Tools/WebKitTestRunner/TestController.cpp (modified) (1 diff)
-
Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp (modified) (1 diff)
-
Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp (modified) (1 diff)
-
Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm (modified) (1 diff)
-
Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm (modified) (1 diff)
-
Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm (modified) (1 diff)
-
Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r211661 r211662 1 2017-02-03 Simon Fraser <simon.fraser@apple.com> 2 3 Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic 4 https://bugs.webkit.org/show_bug.cgi?id=167774 5 6 Reviewed by Tim Horton. 7 8 Rebase to include the "in window" output. 9 10 tiled-drawing/background-transparency-toggle.html was sensitive to the length of the output, so give the body 11 a fixed size. 12 13 * compositing/tiling/offscreen-tiled-layer-expected.txt: 14 * compositing/tiling/transform-origin-tiled-expected.txt: 15 * platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: 16 * platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt: 17 * platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt: 18 * platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: 19 * platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt: 20 * platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt: 21 * platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt: 22 * platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: 23 * platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: 24 * tiled-drawing/background-transparency-toggle-expected.txt: 25 * tiled-drawing/background-transparency-toggle.html: 26 * tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt: 27 * tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt: 28 * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt: 29 * tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt: 30 * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt: 31 * tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: 32 * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt: 33 * tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: 34 * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt: 35 * tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt: 36 * tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt: 37 * tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt: 38 * tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt: 39 * tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: 40 * tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: 41 * tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt: 42 * tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: 43 * tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt: 44 * tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: 45 * tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: 46 * tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: 47 * tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: 48 * tiled-drawing/simple-document-with-margin-tiles-expected.txt: 49 * tiled-drawing/tile-coverage-after-scroll-expected.txt: 50 * tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: 51 * tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: 52 * tiled-drawing/tile-coverage-slow-scrolling-expected.txt: 53 * tiled-drawing/tile-coverage-speculative-expected.txt: 54 * tiled-drawing/tile-coverage-view-exposed-rect-expected.txt: 55 * tiled-drawing/tile-size-both-scrollable-expected.txt: 56 * tiled-drawing/tile-size-horizontally-scrollable-expected.txt: 57 * tiled-drawing/tile-size-slow-zoomed-expected.txt: 58 * tiled-drawing/tile-size-unscrollable-expected.txt: 59 * tiled-drawing/tile-size-vertically-scrollable-expected.txt: 60 * tiled-drawing/tile-size-view-exposed-rect-expected.txt: 61 * tiled-drawing/tiled-backing-in-window-expected.txt: Added. 62 * tiled-drawing/tiled-backing-in-window.html: Added. 63 * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt: 64 * tiled-drawing/tiled-drawing-zoom-expected.txt: 65 * tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: 66 * tiled-drawing/use-tiled-drawing-expected.txt: 67 * tiled-drawing/visible-rect-content-inset-expected.txt: 68 1 69 2017-02-03 Zalan Bujtas <zalan@apple.com> 2 70 -
trunk/LayoutTests/compositing/tiling/offscreen-tiled-layer-expected.txt
r203261 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 31 32 (tile size 512 x 512) 32 33 (top left tile 0, 0 tiles grid 0 x 0) 34 (in window 1) 33 35 ) 34 36 ) -
trunk/LayoutTests/compositing/tiling/transform-origin-tiled-expected.txt
r183354 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 49 50 (tile size 512 x 512) 50 51 (top left tile 2, 0 tiles grid 2 x 1) 52 (in window 1) 51 53 ) 52 54 ) -
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/tiling/offscreen-tiled-layer-expected.txt
r203261 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 31 32 (tile size 512 x 512) 32 33 (top left tile 0, 0 tiles grid 0 x 0) 34 (in window 1) 33 35 ) 34 36 ) -
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt
r198502 r211662 17 17 (tile size 800 x 600) 18 18 (top left tile 0, 0 tiles grid 1 x 1) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 50 51 (tile size 512 x 512) 51 52 (top left tile 0, 0 tiles grid 6 x 1) 53 (in window 1) 52 54 ) 53 55 ) -
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt
r198502 r211662 17 17 (tile size 800 x 600) 18 18 (top left tile 0, 0 tiles grid 1 x 1) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 57 58 (tile size 512 x 512) 58 59 (top left tile 0, 0 tiles grid 6 x 1) 60 (in window 1) 59 61 ) 60 62 ) -
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/tiling/tile-cache-zoomed-expected.txt
r183356 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer -
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/tiling/tiled-layer-resize-expected.txt
r177052 r211662 10 10 (tile size 512 x 512) 11 11 (top left tile 0, 0 tiles grid 2 x 2) 12 (in window 1) 12 13 (children 1 13 14 (GraphicsLayer … … 20 21 (tile size 512 x 512) 21 22 (top left tile 0, 0 tiles grid 2 x 2) 23 (in window 1) 22 24 ) 23 25 ) -
trunk/LayoutTests/platform/ios-simulator-wk2/compositing/tiling/transform-origin-tiled-expected.txt
r198502 r211662 17 17 (tile size 800 x 600) 18 18 (top left tile 0, 0 tiles grid 1 x 1) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 49 50 (tile size 512 x 512) 50 51 (top left tile 2, 0 tiles grid 2 x 1) 52 (in window 1) 51 53 ) 52 54 ) -
trunk/LayoutTests/platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt
r203261 r211662 28 28 (tile size 512 x 512) 29 29 (top left tile 0, 0 tiles grid 0 x 0) 30 (in window 1) 30 31 ) 31 32 ) -
trunk/LayoutTests/platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt
r183355 r211662 46 46 (tile size 512 x 512) 47 47 (top left tile 2, 0 tiles grid 2 x 1) 48 (in window 1) 48 49 ) 49 50 ) -
trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt
r183354 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 50 51 (tile size 512 x 512) 51 52 (top left tile 0, 0 tiles grid 6 x 1) 53 (in window 1) 52 54 ) 53 55 ) -
trunk/LayoutTests/platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt
r183354 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 (children 1 20 21 (GraphicsLayer … … 57 58 (tile size 512 x 512) 58 59 (top left tile 0, 0 tiles grid 6 x 1) 60 (in window 1) 59 61 ) 60 62 ) -
trunk/LayoutTests/platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt
r183354 r211662 19 19 (tile size 512 x 512) 20 20 (top left tile 0, 0 tiles grid 2 x 2) 21 (in window 1) 21 22 (children 1 22 23 (GraphicsLayer -
trunk/LayoutTests/platform/mac-wk2/compositing/tiling/tiled-layer-resize-expected.txt
r168244 r211662 10 10 (tile size 512 x 512) 11 11 (top left tile 0, 0 tiles grid 2 x 2) 12 (in window 1) 12 13 (children 1 13 14 (GraphicsLayer … … 20 21 (tile size 512 x 512) 21 22 (top left tile 0, 0 tiles grid 2 x 2) 23 (in window 1) 22 24 ) 23 25 ) -
trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt
r183354 r211662 47 47 (tile size 512 x 512) 48 48 (top left tile 0, 0 tiles grid 6 x 1) 49 (in window 1) 49 50 ) 50 51 ) -
trunk/LayoutTests/platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt
r183354 r211662 54 54 (tile size 512 x 512) 55 55 (top left tile 0, 0 tiles grid 6 x 1) 56 (in window 1) 56 57 ) 57 58 ) -
trunk/LayoutTests/platform/mac/compositing/tiling/tiled-layer-resize-expected.txt
r180441 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/background-transparency-toggle-expected.txt
r197594 r211662 3 3 (GraphicsLayer 4 4 (anchor 0.00 0.00) 5 (bounds 800.00 600.00)5 (bounds 785.00 1024.00) 6 6 (children 1 7 7 (GraphicsLayer 8 (bounds 800.00 600.00)8 (bounds 785.00 1024.00) 9 9 (contentsOpaque 1) 10 (tile cache coverage 0, 0 800 x 600) 11 (tile size 800 x 600) 12 (top left tile 0, 0 tiles grid 1 x 1) 10 (tile cache coverage 0, 0 785 x 1024) 11 (tile size 785 x 512) 12 (top left tile 0, 0 tiles grid 1 x 2) 13 (in window 1) 13 14 ) 14 15 ) … … 16 17 (GraphicsLayer 17 18 (anchor 0.00 0.00) 18 (bounds 800.00 600.00)19 (bounds 785.00 1024.00) 19 20 (children 1 20 21 (GraphicsLayer 21 (bounds 800.00 600.00)22 (bounds 785.00 1024.00) 22 23 (backgroundColor #00000033) 23 (tile cache coverage 0, 0 800 x 600) 24 (tile size 800 x 600) 25 (top left tile 0, 0 tiles grid 1 x 1) 24 (tile cache coverage 0, 0 785 x 1024) 25 (tile size 785 x 512) 26 (top left tile 0, 0 tiles grid 1 x 2) 27 (in window 1) 26 28 ) 27 29 ) … … 29 31 (GraphicsLayer 30 32 (anchor 0.00 0.00) 31 (bounds 800.00 600.00)33 (bounds 785.00 1024.00) 32 34 (children 1 33 35 (GraphicsLayer 34 (bounds 800.00 600.00)36 (bounds 785.00 1024.00) 35 37 (contentsOpaque 1) 36 (tile cache coverage 0, 0 800 x 600) 37 (tile size 800 x 600) 38 (top left tile 0, 0 tiles grid 1 x 1) 38 (tile cache coverage 0, 0 785 x 1024) 39 (tile size 785 x 512) 40 (top left tile 0, 0 tiles grid 1 x 2) 41 (in window 1) 39 42 ) 40 43 ) … … 42 45 (GraphicsLayer 43 46 (anchor 0.00 0.00) 44 (bounds 785.00 648.00)47 (bounds 785.00 1024.00) 45 48 (children 1 46 49 (GraphicsLayer 47 (bounds 785.00 648.00)50 (bounds 785.00 1024.00) 48 51 (contentsOpaque 1) 49 (tile cache coverage 0, 0 785 x 600) 50 (tile size 800 x 600) 51 (top left tile 0, 0 tiles grid 1 x 1) 52 (tile cache coverage 0, 0 785 x 1024) 53 (tile size 785 x 512) 54 (top left tile 0, 0 tiles grid 1 x 2) 55 (in window 1) 52 56 ) 53 57 ) -
trunk/LayoutTests/tiled-drawing/background-transparency-toggle.html
r187905 r211662 6 6 body { 7 7 background-color: white; 8 height: 1000px; 8 9 } 9 10 -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt
r187905 r211662 72 72 (tile size 512 x 512) 73 73 (top left tile 0, 0 tiles grid 4 x 4) 74 (in window 1) 74 75 ) 75 76 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt
r187905 r211662 72 72 (tile size 512 x 512) 73 73 (top left tile 0, 0 tiles grid 4 x 4) 74 (in window 1) 74 75 ) 75 76 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt
r187905 r211662 72 72 (tile size 512 x 512) 73 73 (top left tile 0, 0 tiles grid 4 x 4) 74 (in window 1) 74 75 ) 75 76 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt
r187905 r211662 73 73 (tile size 512 x 512) 74 74 (top left tile 0, 0 tiles grid 4 x 4) 75 (in window 1) 75 76 ) 76 77 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt
r197594 r211662 28 28 (tile size 785 x 512) 29 29 (top left tile 0, 0 tiles grid 1 x 4) 30 (in window 1) 30 31 ) 31 32 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt
r197594 r211662 28 28 (tile size 785 x 512) 29 29 (top left tile 0, 0 tiles grid 1 x 4) 30 (in window 1) 30 31 ) 31 32 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt
r197594 r211662 28 28 (tile size 785 x 512) 29 29 (top left tile 0, 0 tiles grid 1 x 4) 30 (in window 1) 30 31 ) 31 32 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt
r197594 r211662 28 28 (tile size 785 x 512) 29 29 (top left tile 0, 0 tiles grid 1 x 4) 30 (in window 1) 30 31 ) 31 32 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt
r187905 r211662 30 30 (tile size 512 x 512) 31 31 (top left tile 0, 0 tiles grid 4 x 4) 32 (in window 1) 32 33 ) 33 34 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt
r187905 r211662 30 30 (tile size 512 x 512) 31 31 (top left tile 0, 0 tiles grid 4 x 4) 32 (in window 1) 32 33 ) 33 34 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt
r187905 r211662 32 32 (tile size 512 x 512) 33 33 (top left tile 0, 0 tiles grid 4 x 4) 34 (in window 1) 34 35 ) 35 36 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt
r188793 r211662 32 32 (tile size 512 x 512) 33 33 (top left tile 0, 0 tiles grid 4 x 4) 34 (in window 1) 34 35 ) 35 36 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-background-no-image-expected.txt
r197594 r211662 9 9 (tile size 785 x 512) 10 10 (top left tile 0, 0 tiles grid 1 x 2) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt
r197594 r211662 19 19 (tile size 785 x 512) 20 20 (top left tile 0, 0 tiles grid 1 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt
r197594 r211662 19 19 (tile size 785 x 512) 20 20 (top left tile 0, 0 tiles grid 1 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt
r197594 r211662 19 19 (tile size 785 x 512) 20 20 (top left tile 0, 0 tiles grid 1 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt
r197594 r211662 19 19 (tile size 785 x 512) 20 20 (top left tile 0, 0 tiles grid 1 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt
r187905 r211662 19 19 (tile size 512 x 512) 20 20 (top left tile 0, 0 tiles grid 2 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt
r209409 r211662 20 20 (tile size 512 x 512) 21 21 (top left tile 0, 0 tiles grid 2 x 3) 22 (in window 1) 22 23 ) 23 24 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt
r197594 r211662 19 19 (tile size 785 x 512) 20 20 (top left tile 0, 0 tiles grid 1 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt
r197594 r211662 10 10 (tile size 785 x 512) 11 11 (top left tile 0, 0 tiles grid 1 x 2) 12 (in window 1) 12 13 ) 13 14 ) -
trunk/LayoutTests/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt
r209409 r211662 50 50 (tile size 785 x 512) 51 51 (top left tile 0, 0 tiles grid 1 x 2) 52 (in window 1) 52 53 (children 4 53 54 (GraphicsLayer -
trunk/LayoutTests/tiled-drawing/simple-document-with-margin-tiles-expected.txt
r194607 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile -1, -1 tiles grid 4 x 4) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-expected.txt
r197594 r211662 17 17 (tile size 785 x 512) 18 18 (top left tile 0, 5 tiles grid 1 x 3) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt
r197594 r211662 17 17 (tile size 785 x 512) 18 18 (top left tile 0, 5 tiles grid 1 x 3) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt
r197594 r211662 17 17 (tile size 785 x 512) 18 18 (top left tile 0, 8 tiles grid 1 x 2) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/tile-coverage-slow-scrolling-expected.txt
r197594 r211662 17 17 (tile size 800 x 600) 18 18 (top left tile 0, 0 tiles grid 1 x 1) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/tile-coverage-speculative-expected.txt
r197594 r211662 17 17 (tile size 785 x 512) 18 18 (top left tile 0, 0 tiles grid 1 x 2) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/tile-coverage-view-exposed-rect-expected.txt
r199200 r211662 9 9 (tile size 512 x 512) 10 10 (top left tile 0, 2 tiles grid 2 x 1) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/tile-size-both-scrollable-expected.txt
r197541 r211662 9 9 (tile size 512 x 512) 10 10 (top left tile 0, 0 tiles grid 2 x 2) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/tile-size-horizontally-scrollable-expected.txt
r197541 r211662 9 9 (tile size 512 x 512) 10 10 (top left tile 0, 0 tiles grid 2 x 2) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/tile-size-slow-zoomed-expected.txt
r187905 r211662 19 19 (tile size 512 x 512) 20 20 (top left tile 0, 0 tiles grid 2 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/tile-size-unscrollable-expected.txt
r197594 r211662 9 9 (tile size 800 x 600) 10 10 (top left tile 0, 0 tiles grid 1 x 1) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/tile-size-vertically-scrollable-expected.txt
r197594 r211662 9 9 (tile size 785 x 512) 10 10 (top left tile 0, 0 tiles grid 1 x 2) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/tile-size-view-exposed-rect-expected.txt
r199200 r211662 9 9 (tile size 512 x 512) 10 10 (top left tile 0, 0 tiles grid 2 x 1) 11 (in window 1) 11 12 ) 12 13 ) -
trunk/LayoutTests/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration-expected.txt
r187905 r211662 19 19 (tile size 512 x 512) 20 20 (top left tile 1, 0 tiles grid 4 x 5) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/tiled-drawing-zoom-expected.txt
r187905 r211662 19 19 (tile size 512 x 512) 20 20 (top left tile 0, 0 tiles grid 2 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt
r187905 r211662 19 19 (tile size 512 x 512) 20 20 (top left tile 3, 4 tiles grid 3 x 2) 21 (in window 1) 21 22 ) 22 23 ) -
trunk/LayoutTests/tiled-drawing/use-tiled-drawing-expected.txt
r187905 r211662 17 17 (tile size 512 x 512) 18 18 (top left tile 0, 0 tiles grid 2 x 2) 19 (in window 1) 19 20 ) 20 21 ) -
trunk/LayoutTests/tiled-drawing/visible-rect-content-inset-expected.txt
r197594 r211662 18 18 (tile size 800 x 512) 19 19 (top left tile 0, 0 tiles grid 1 x 1) 20 (in window 1) 20 21 ) 21 22 ) -
trunk/Source/WebCore/ChangeLog
r211661 r211662 1 2017-02-03 Simon Fraser <simon.fraser@apple.com> 2 3 Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic 4 https://bugs.webkit.org/show_bug.cgi?id=167774 5 6 Reviewed by Tim Horton. 7 8 RenderLayerBacking had some very confusing "usingTiledCacheLayer" uses. 9 10 Its member variable, m_usingTiledCacheLayer, really meant "m_isMainFrameLayerWithTiledBacking" so make it so. 11 It had a usingTiledBacking(), which returned the same thing, which this patch replaces with isMainFrameLayerWithTiledBacking(). 12 13 The fact that usingTiledBacking() was only true for the page tiled layer tripped up 14 RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants(), which would only ever call setIsInWindow() 15 on the page tiled layer. These changes fix that. 16 17 Also make a way for tests to unparent the web view via UIScriptController, and dump out the "in window" 18 status of TileBackings when dumping tile caches. 19 20 Test: tiled-drawing/tiled-backing-in-window.html 21 22 * platform/graphics/TiledBacking.h: 23 * platform/graphics/ca/GraphicsLayerCA.cpp: 24 (WebCore::GraphicsLayerCA::dumpAdditionalProperties): 25 * platform/graphics/ca/TileController.h: 26 * rendering/RenderLayerBacking.cpp: 27 (WebCore::RenderLayerBacking::RenderLayerBacking): 28 (WebCore::computePageTiledBackingCoverage): 29 (WebCore::RenderLayerBacking::adjustTiledBackingCoverage): 30 (WebCore::RenderLayerBacking::setTiledBackingHasMargins): 31 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): 32 (WebCore::RenderLayerBacking::shouldClipCompositedBounds): 33 (WebCore::RenderLayerBacking::updateDescendantClippingLayer): 34 (WebCore::RenderLayerBacking::updateRootLayerConfiguration): 35 (WebCore::RenderLayerBacking::paintsIntoWindow): 36 (WebCore::computeTileCoverage): Deleted. 37 * rendering/RenderLayerBacking.h: 38 * rendering/RenderLayerCompositor.cpp: 39 (WebCore::RenderLayerCompositor::flushPendingLayerChanges): 40 (WebCore::RenderLayerCompositor::rootFixedBackgroundsChanged): 41 (WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants): 42 (WebCore::RenderLayerCompositor::supportsFixedRootBackgroundCompositing): 43 (WebCore::RenderLayerCompositor::documentUsesTiledBacking): 44 1 45 2017-02-03 Zalan Bujtas <zalan@apple.com> 2 46 -
trunk/Source/WebCore/platform/graphics/TiledBacking.h
r208985 r211662 98 98 99 99 virtual void setIsInWindow(bool) = 0; 100 virtual bool isInWindow() const = 0; 100 101 101 102 enum { -
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
r211305 r211662 3507 3507 writeIndent(textStream, indent + 1); 3508 3508 textStream << "(top left tile " << gridExtent.x() << ", " << gridExtent.y() << " tiles grid " << gridExtent.width() << " x " << gridExtent.height() << ")\n"; 3509 3510 writeIndent(textStream, indent + 1); 3511 textStream << "(in window " << tiledBacking()->isInWindow() << ")\n"; 3509 3512 } 3510 3513 -
trunk/Source/WebCore/platform/graphics/ca/TileController.h
r208985 r211662 137 137 void scheduleTileRevalidation(double interval); 138 138 139 bool isInWindow() const { return m_isInWindow; }140 139 float topContentInset() const { return m_topContentInset; } 141 140 … … 151 150 void prepopulateRect(const FloatRect&) override; 152 151 void setIsInWindow(bool) override; 152 bool isInWindow() const override { return m_isInWindow; } 153 153 void setTileCoverage(TileCoverage) override; 154 154 void revalidateTiles() override; -
trunk/Source/WebCore/rendering/RenderLayerBacking.cpp
r211387 r211662 94 94 RenderLayerBacking::RenderLayerBacking(RenderLayer& layer) 95 95 : m_owningLayer(layer) 96 , m_viewportConstrainedNodeID(0)97 , m_scrollingNodeID(0)98 , m_artificiallyInflatedBounds(false)99 , m_isMainFrameRenderViewLayer(false)100 , m_usingTiledCacheLayer(false)101 , m_requiresOwnBackingStore(true)102 , m_canCompositeFilters(false)103 #if ENABLE(FILTERS_LEVEL_2)104 , m_canCompositeBackdropFilters(false)105 #endif106 , m_backgroundLayerPaintsFixedRootBackground(false)107 96 { 108 97 if (layer.isRootLayer()) { 109 98 m_isMainFrameRenderViewLayer = renderer().frame().isMainFrame(); 110 m_ usingTiledCacheLayer= renderer().page().chrome().client().shouldUseTiledBackingForFrameView(renderer().view().frameView());99 m_isMainFrameLayerWithTiledBacking = renderer().page().chrome().client().shouldUseTiledBackingForFrameView(renderer().view().frameView()); 111 100 } 112 101 113 102 createPrimaryGraphicsLayer(); 114 103 115 if (m_usingTiledCacheLayer) { 116 TiledBacking* tiledBacking = this->tiledBacking(); 117 104 if (TiledBacking* tiledBacking = this->tiledBacking()) { 118 105 tiledBacking->setIsInWindow(renderer().page().isInWindow()); 119 106 120 if (m_isMainFrame RenderViewLayer)107 if (m_isMainFrameLayerWithTiledBacking) { 121 108 tiledBacking->setUnparentsOffscreenTiles(true); 122 123 tiledBacking->setScrollingPerformanceLoggingEnabled(renderer().settings().scrollingPerformanceLoggingEnabled());124 adjustTiledBackingCoverage();109 tiledBacking->setScrollingPerformanceLoggingEnabled(renderer().settings().scrollingPerformanceLoggingEnabled()); 110 adjustTiledBackingCoverage(); 111 } 125 112 } 126 113 } … … 198 185 } 199 186 200 static TiledBacking::TileCoverage compute TileCoverage(RenderLayerBacking* backing)187 static TiledBacking::TileCoverage computePageTiledBackingCoverage(RenderLayerBacking* backing) 201 188 { 202 189 // FIXME: When we use TiledBacking for overflow, this should look at RenderView scrollability. … … 218 205 void RenderLayerBacking::adjustTiledBackingCoverage() 219 206 { 220 if (!m_ usingTiledCacheLayer)207 if (!m_isMainFrameLayerWithTiledBacking) 221 208 return; 222 209 223 TiledBacking::TileCoverage tileCoverage = compute TileCoverage(this);210 TiledBacking::TileCoverage tileCoverage = computePageTiledBackingCoverage(this); 224 211 tiledBacking()->setTileCoverage(tileCoverage); 225 212 } … … 227 214 void RenderLayerBacking::setTiledBackingHasMargins(bool hasExtendedBackgroundOnLeftAndRight, bool hasExtendedBackgroundOnTopAndBottom) 228 215 { 229 if (!m_ usingTiledCacheLayer)216 if (!m_isMainFrameLayerWithTiledBacking) 230 217 return; 231 218 … … 285 272 layerName.append("..."); 286 273 } 287 m_graphicsLayer = createGraphicsLayer(layerName, m_ usingTiledCacheLayer? GraphicsLayer::Type::PageTiledBacking : GraphicsLayer::Type::Normal);288 289 if (m_ usingTiledCacheLayer) {290 m_childContainmentLayer = createGraphicsLayer(" TiledBacking containment");274 m_graphicsLayer = createGraphicsLayer(layerName, m_isMainFrameLayerWithTiledBacking ? GraphicsLayer::Type::PageTiledBacking : GraphicsLayer::Type::Normal); 275 276 if (m_isMainFrameLayerWithTiledBacking) { 277 m_childContainmentLayer = createGraphicsLayer("Page TiledBacking containment"); 291 278 m_graphicsLayer->addChild(m_childContainmentLayer.get()); 292 279 } … … 469 456 #endif 470 457 471 if (m_ usingTiledCacheLayer)458 if (m_isMainFrameLayerWithTiledBacking) 472 459 return false; 473 460 … … 1328 1315 1329 1316 if (needsDescendantClip) { 1330 if (!m_childContainmentLayer && !m_ usingTiledCacheLayer) {1317 if (!m_childContainmentLayer && !m_isMainFrameLayerWithTiledBacking) { 1331 1318 m_childContainmentLayer = createGraphicsLayer("child clipping"); 1332 1319 m_childContainmentLayer->setMasksToBounds(true); … … 1829 1816 void RenderLayerBacking::updateRootLayerConfiguration() 1830 1817 { 1831 if (!m_ usingTiledCacheLayer)1818 if (!m_isMainFrameLayerWithTiledBacking) 1832 1819 return; 1833 1820 … … 2217 2204 #endif 2218 2205 2219 if (m_ usingTiledCacheLayer)2206 if (m_isMainFrameLayerWithTiledBacking) 2220 2207 return false; 2221 2208 -
trunk/Source/WebCore/rendering/RenderLayerBacking.h
r208668 r211662 88 88 89 89 // Layer to clip children 90 bool hasClippingLayer() const { return (m_childContainmentLayer && !m_ usingTiledCacheLayer); }91 GraphicsLayer* clippingLayer() const { return !m_ usingTiledCacheLayer? m_childContainmentLayer.get() : nullptr; }90 bool hasClippingLayer() const { return (m_childContainmentLayer && !m_isMainFrameLayerWithTiledBacking); } 91 GraphicsLayer* clippingLayer() const { return !m_isMainFrameLayerWithTiledBacking ? m_childContainmentLayer.get() : nullptr; } 92 92 93 93 // Layer to get clipped by ancestor … … 182 182 bool hasUnpositionedOverflowControlsLayers() const; 183 183 184 bool usingTiledBacking() const { return m_usingTiledCacheLayer; } 184 bool isMainFrameLayerWithTiledBacking() const { return m_isMainFrameLayerWithTiledBacking; } 185 185 186 WEBCORE_EXPORT TiledBacking* tiledBacking() const; 186 187 void adjustTiledBackingCoverage(); … … 331 332 bool shouldClipCompositedBounds() const; 332 333 333 bool hasTiledBackingFlatteningLayer() const { return (m_childContainmentLayer && m_ usingTiledCacheLayer); }334 GraphicsLayer* tileCacheFlatteningLayer() const { return m_ usingTiledCacheLayer? m_childContainmentLayer.get() : nullptr; }334 bool hasTiledBackingFlatteningLayer() const { return (m_childContainmentLayer && m_isMainFrameLayerWithTiledBacking); } 335 GraphicsLayer* tileCacheFlatteningLayer() const { return m_isMainFrameLayerWithTiledBacking ? m_childContainmentLayer.get() : nullptr; } 335 336 336 337 void paintIntoLayer(const GraphicsLayer*, GraphicsContext&, const IntRect& paintDirtyRect, PaintBehavior, GraphicsLayerPaintingPhase); … … 364 365 std::unique_ptr<GraphicsLayer> m_scrollingContentsLayer; // Only used if the layer is using composited scrolling. 365 366 366 ScrollingNodeID m_viewportConstrainedNodeID;367 ScrollingNodeID m_scrollingNodeID;368 369 367 LayoutRect m_compositedBounds; 370 368 LayoutSize m_subpixelOffsetFromRenderer; // This is the subpixel distance between the primary graphics layer and the associated renderer's bounds. 371 369 LayoutSize m_compositedBoundsOffsetFromGraphicsLayer; // This is the subpixel distance between the primary graphics layer and the render layer bounds. 372 370 373 bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work 374 bool m_isMainFrameRenderViewLayer; 375 bool m_usingTiledCacheLayer; 376 bool m_requiresOwnBackingStore; 377 bool m_canCompositeFilters; 371 ScrollingNodeID m_viewportConstrainedNodeID { 0 }; 372 ScrollingNodeID m_scrollingNodeID { 0 }; 373 374 bool m_artificiallyInflatedBounds { false }; // bounds had to be made non-zero to make transform-origin work 375 bool m_isMainFrameRenderViewLayer { false }; 376 bool m_isMainFrameLayerWithTiledBacking { false }; 377 bool m_requiresOwnBackingStore { true }; 378 bool m_canCompositeFilters { false }; 378 379 #if ENABLE(FILTERS_LEVEL_2) 379 bool m_canCompositeBackdropFilters ;380 #endif 381 bool m_backgroundLayerPaintsFixedRootBackground ;380 bool m_canCompositeBackdropFilters { false }; 381 #endif 382 bool m_backgroundLayerPaintsFixedRootBackground { false }; 382 383 }; 383 384 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r211541 r211662 441 441 #if PLATFORM(IOS) 442 442 FloatRect exposedRect = frameView.exposedContentRect(); 443 LOG_WITH_STREAM(Compositing, stream << " RenderLayerCompositor " << this << " flushPendingLayerChanges (root " << isFlushRoot << ") exposedRect " << exposedRect);443 LOG_WITH_STREAM(Compositing, stream << "\nRenderLayerCompositor " << this << " flushPendingLayerChanges (root " << isFlushRoot << ") exposedRect " << exposedRect); 444 444 rootLayer->flushCompositingState(exposedRect); 445 445 #else … … 450 450 visibleRect.intersect(frameView.viewExposedRect().value()); 451 451 452 LOG_WITH_STREAM(Compositing, stream << " RenderLayerCompositor " << this << " flushPendingLayerChanges(" << isFlushRoot << ") " << visibleRect);452 LOG_WITH_STREAM(Compositing, stream << "\nRenderLayerCompositor " << this << " flushPendingLayerChanges(" << isFlushRoot << ") " << visibleRect); 453 453 rootLayer->flushCompositingState(visibleRect); 454 LOG_WITH_STREAM(Compositing, stream << "RenderLayerCompositor " << this << " flush complete\n"); 454 455 #endif 455 456 } … … 1760 1761 { 1761 1762 RenderLayerBacking* renderViewBacking = m_renderView.layer()->backing(); 1762 if (renderViewBacking && renderViewBacking-> usingTiledBacking())1763 if (renderViewBacking && renderViewBacking->isMainFrameLayerWithTiledBacking()) 1763 1764 setCompositingLayersNeedRebuild(); 1764 1765 } … … 2029 2030 void RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants(RenderLayer& layer, bool isInWindow) 2030 2031 { 2031 if (layer.isComposited() && layer.backing()->usingTiledBacking()) 2032 layer.backing()->tiledBacking()->setIsInWindow(isInWindow); 2032 if (layer.isComposited()) { 2033 if (auto* backing = layer.backing()->tiledBacking()) 2034 backing->setIsInWindow(isInWindow); 2035 } 2033 2036 2034 2037 // No need to recurse if we don't have any other tiled layers. 2035 if ( hasNonMainLayersWithTiledBacking())2038 if (!hasNonMainLayersWithTiledBacking()) 2036 2039 return; 2037 2040 … … 2843 2846 { 2844 2847 RenderLayerBacking* renderViewBacking = m_renderView.layer()->backing(); 2845 return renderViewBacking && renderViewBacking-> usingTiledBacking();2848 return renderViewBacking && renderViewBacking->isMainFrameLayerWithTiledBacking(); 2846 2849 } 2847 2850 … … 2948 2951 return false; 2949 2952 2950 return backing-> usingTiledBacking();2953 return backing->isMainFrameLayerWithTiledBacking(); 2951 2954 } 2952 2955 -
trunk/Tools/ChangeLog
r211657 r211662 1 2017-02-03 Simon Fraser <simon.fraser@apple.com> 2 3 Correctly set the "inWindow" flag for TileControllers that aren't the page tiles, and clarify "usingTiledBacking" logic 4 https://bugs.webkit.org/show_bug.cgi?id=167774 5 6 Reviewed by Tim Horton. 7 8 Implement UIScriptController removeViewFromWindow() and addViewToWindow(), and hook 9 up for Mac WK1 and WK2, and iOS WK2. It takes a callback because view state updates to the 10 web process are async, so the callback fires after the web process gets the new state. 11 12 * DumpRenderTree/ios/UIScriptControllerIOS.mm: 13 (WTR::UIScriptController::removeViewFromWindow): 14 (WTR::UIScriptController::addViewToWindow): 15 * DumpRenderTree/mac/DumpRenderTree.mm: 16 (createWebViewAndOffscreenWindow): 17 (resetWebViewToConsistentStateBeforeTesting): 18 * DumpRenderTree/mac/DumpRenderTreeMac.h: 19 * DumpRenderTree/mac/UIScriptControllerMac.mm: 20 (WTR::UIScriptController::removeViewFromWindow): 21 (WTR::UIScriptController::addViewToWindow): 22 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: 23 * TestRunnerShared/UIScriptContext/UIScriptController.cpp: 24 (WTR::UIScriptController::removeViewFromWindow): 25 (WTR::UIScriptController::addViewToWindow): 26 * TestRunnerShared/UIScriptContext/UIScriptController.h: 27 * WebKitTestRunner/PlatformWebView.h: 28 * WebKitTestRunner/TestController.cpp: 29 (WTR::TestController::resetStateToConsistentValues): 30 * WebKitTestRunner/ios/PlatformWebViewIOS.mm: 31 (WTR::PlatformWebView::removeFromWindow): 32 (WTR::PlatformWebView::addToWindow): 33 * WebKitTestRunner/ios/UIScriptControllerIOS.mm: 34 (WTR::UIScriptController::removeViewFromWindow): 35 (WTR::UIScriptController::addViewToWindow): 36 * WebKitTestRunner/mac/PlatformWebViewMac.mm: 37 (WTR::PlatformWebView::removeFromWindow): 38 (WTR::PlatformWebView::addToWindow): 39 * WebKitTestRunner/mac/UIScriptControllerMac.mm: 40 (WTR::UIScriptController::removeViewFromWindow): 41 (WTR::UIScriptController::addViewToWindow): 42 1 43 2017-02-03 Alexey Proskuryakov <ap@apple.com> 2 44 -
trunk/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm
r211095 r211662 299 299 } 300 300 301 void UIScriptController::removeViewFromWindow(JSValueRef) 302 { 303 } 304 305 void UIScriptController::addViewToWindow(JSValueRef) 306 { 307 } 308 301 309 } 302 310 -
trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm
r211341 r211662 180 180 RefPtr<TestRunner> gTestRunner; 181 181 182 WebFrame *mainFrame = n ullptr;182 WebFrame *mainFrame = nil; 183 183 // This is the topmost frame that is loading, during a given load, or nil when no load is 184 184 // in progress. Usually this is the same as the main frame, but not always. In the case 185 185 // where a frameset is loaded, and then new content is loaded into one of the child frames, 186 186 // that child frame is the "topmost frame that is loading". 187 WebFrame *topLoadingFrame = nullptr; // !nil iff a load is in progress 188 187 WebFrame *topLoadingFrame = nil; // !nil iff a load is in progress 188 189 #if PLATFORM(MAC) 190 NSWindow *mainWindow = nil; 191 #endif 189 192 190 193 CFMutableSetRef disallowedURLs= nullptr; … … 799 802 NSRect windowRect = (showWebView) ? NSOffsetRect(rect, 100, 100) : NSOffsetRect(rect, -10000, [firstScreen frame].size.height - rect.size.height + 10000); 800 803 DumpRenderTreeWindow *window = [[DumpRenderTreeWindow alloc] initWithContentRect:windowRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]; 804 mainWindow = window; 801 805 802 806 [window setColorSpace:[firstScreen colorSpace]]; … … 1842 1846 { 1843 1847 WebView *webView = [mainFrame webView]; 1848 1849 #if PLATFORM(MAC) 1850 if (![webView superview]) 1851 [[mainWindow contentView] addSubview:webView]; 1852 #endif 1853 1844 1854 #if PLATFORM(IOS) 1845 1855 adjustWebDocumentForStandardViewport(gWebBrowserView, gWebScrollView); -
trunk/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h
r204931 r211662 49 49 extern DefaultPolicyDelegate *defaultPolicyDelegate; 50 50 51 #if PLATFORM(IOS) 52 OBJC_CLASS UIWindow; 53 extern UIWindow *mainWindow; 54 #else 55 OBJC_CLASS NSWindow; 56 extern NSWindow *mainWindow; 57 #endif 58 51 59 void setWaitToDumpWatchdog(CFRunLoopTimerRef); 52 60 bool shouldSetWaitToDumpWatchdog(); -
trunk/Tools/DumpRenderTree/mac/UIScriptControllerMac.mm
r209931 r211662 71 71 [webView _scaleWebView:scale atOrigin:NSZeroPoint]; 72 72 73 dispatch_async(dispatch_get_main_queue(), ^ {73 dispatch_async(dispatch_get_main_queue(), ^{ 74 74 if (!m_context) 75 75 return; … … 95 95 } 96 96 97 void UIScriptController::removeViewFromWindow(JSValueRef callback) 98 { 99 unsigned callbackID = m_context->prepareForAsyncTask(callback, CallbackTypeNonPersistent); 100 101 WebView *webView = [mainFrame webView]; 102 [webView removeFromSuperview]; 103 104 dispatch_async(dispatch_get_main_queue(), ^{ 105 if (!m_context) 106 return; 107 m_context->asyncTaskComplete(callbackID); 108 }); 109 } 110 111 void UIScriptController::addViewToWindow(JSValueRef callback) 112 { 113 unsigned callbackID = m_context->prepareForAsyncTask(callback, CallbackTypeNonPersistent); 114 115 WebView *webView = [mainFrame webView]; 116 [[mainWindow contentView] addSubview:webView]; 117 118 dispatch_async(dispatch_get_main_queue(), ^{ 119 if (!m_context) 120 return; 121 m_context->asyncTaskComplete(callbackID); 122 }); 123 } 124 97 125 } 98 126 -
trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl
r211095 r211662 27 27 28 28 void doAsyncTask(object callback); // Used to test the harness. 29 void uiScriptComplete(DOMString result); 30 29 31 void doAfterPresentationUpdate(object callback); // Call the callback after sending a message to the WebProcess and receiving a subsequent update. 30 32 void doAfterNextStablePresentationUpdate(object callback); … … 214 216 readonly attribute DOMString scrollingTreeAsText; 215 217 216 void uiScriptComplete(DOMString result);217 218 218 void retrieveSpeakSelectionContent(object callback); 219 219 readonly attribute DOMString accessibilitySpeakSelectionContent; 220 221 // Unparent and parent the web view, simulating, for example, tab switching. 222 void removeViewFromWindow(object callback); 223 void addViewToWindow(object callback); 224 220 225 }; -
trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp
r211095 r211662 388 388 #endif 389 389 390 #if !PLATFORM(COCOA) 391 392 void UIScriptController::removeViewFromWindow(JSValueRef) 393 { 394 } 395 396 void UIScriptController::addViewToWindow(JSValueRef) 397 { 398 } 399 400 #endif // !PLATFORM(COCOA) 401 390 402 #if !PLATFORM(MAC) 391 403 -
trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h
r211095 r211662 141 141 void uiScriptComplete(JSStringRef result); 142 142 143 void retrieveSpeakSelectionContent(JSValueRef callback);143 void retrieveSpeakSelectionContent(JSValueRef); 144 144 JSRetainPtr<JSStringRef> accessibilitySpeakSelectionContent() const; 145 146 // These use a callback to allow the client to know when view visibility state updates get to the web process. 147 void removeViewFromWindow(JSValueRef); 148 void addViewToWindow(JSValueRef); 145 149 146 150 private: -
trunk/Tools/WebKitTestRunner/PlatformWebView.h
r209972 r211662 87 87 void setWindowIsKey(bool); 88 88 bool windowIsKey() const { return m_windowIsKey; } 89 90 void removeFromWindow(); 91 void addToWindow(); 89 92 90 93 bool viewSupportsOptions(const TestOptions&) const; -
trunk/Tools/WebKitTestRunner/TestController.cpp
r211254 r211662 754 754 #endif 755 755 756 // Make sure the view is in the window (a test can unparent it). 757 m_mainWebView->addToWindow(); 758 756 759 // In the case that a test using the chrome input field failed, be sure to clean up for the next test. 757 760 m_mainWebView->removeChromeInputField(); -
trunk/Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
r209972 r211662 130 130 } 131 131 132 void PlatformWebView::addToWindow() 133 { 134 } 135 136 void PlatformWebView::removeFromWindow() 137 { 138 } 139 132 140 void PlatformWebView::makeWebViewFirstResponder() 133 141 { -
trunk/Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp
r209972 r211662 117 117 } 118 118 119 void PlatformWebView::addToWindow() 120 { 121 } 122 123 void PlatformWebView::removeFromWindow() 124 { 125 } 126 119 127 void PlatformWebView::makeWebViewFirstResponder() 120 128 { -
trunk/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm
r209972 r211662 167 167 } 168 168 169 void PlatformWebView::addToWindow() 170 { 171 [m_window.rootViewController.view addSubview:m_view]; 172 } 173 174 void PlatformWebView::removeFromWindow() 175 { 176 [m_view removeFromSuperview]; 177 } 178 169 179 void PlatformWebView::resizeTo(unsigned width, unsigned height, WebViewSizingMode viewSizingMode) 170 180 { -
trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm
r211095 r211662 537 537 } 538 538 539 void UIScriptController::removeViewFromWindow(JSValueRef callback) 540 { 541 TestController::singleton().mainWebView()->removeFromWindow(); 542 } 543 544 void UIScriptController::addViewToWindow(JSValueRef callback) 545 { 546 TestController::singleton().mainWebView()->addToWindow(); 547 } 548 539 549 void UIScriptController::platformSetDidStartFormControlInteractionCallback() 540 550 { -
trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm
r209972 r211662 253 253 } 254 254 255 void PlatformWebView::addToWindow() 256 { 257 [[m_window contentView] addSubview:m_view]; 258 } 259 260 void PlatformWebView::removeFromWindow() 261 { 262 [m_view removeFromSuperview]; 263 } 264 255 265 void PlatformWebView::makeWebViewFirstResponder() 256 266 { -
trunk/Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm
r209931 r211662 132 132 } 133 133 134 void UIScriptController::removeViewFromWindow(JSValueRef callback) 135 { 136 #if WK_API_ENABLED 137 unsigned callbackID = m_context->prepareForAsyncTask(callback, CallbackTypeNonPersistent); 138 139 auto* mainWebView = TestController::singleton().mainWebView(); 140 mainWebView->removeFromWindow(); 141 142 [mainWebView->platformView() _doAfterNextPresentationUpdate: ^ { 143 if (!m_context) 144 return; 145 m_context->asyncTaskComplete(callbackID); 146 }]; 147 #else 148 UNUSED_PARAM(callback); 149 #endif 150 } 151 152 void UIScriptController::addViewToWindow(JSValueRef callback) 153 { 154 #if WK_API_ENABLED 155 unsigned callbackID = m_context->prepareForAsyncTask(callback, CallbackTypeNonPersistent); 156 157 auto* mainWebView = TestController::singleton().mainWebView(); 158 mainWebView->addToWindow(); 159 160 [mainWebView->platformView() _doAfterNextPresentationUpdate: ^ { 161 if (!m_context) 162 return; 163 m_context->asyncTaskComplete(callbackID); 164 }]; 165 #else 166 UNUSED_PARAM(callback); 167 #endif 168 } 169 134 170 } // namespace WTR
Note:
See TracChangeset
for help on using the changeset viewer.