|
|
Move scroll paint property nodes to be owned by the transform tree
This patch moves the ownership of scroll paint property tree nodes
to their associated scroll translation nodes. This has two benefits:
1) The paint property nodes directly stored on LayoutObject's are
only related to geometry so special-cases are not needed to exclude
non-geometry property nodes in PaintArtifactCompositor.
2) There is a memory savings because scroll nodes are effectively
rare data in the transform tree. A TODO has been added to make this
more explicit.
The major changes in this patch are:
* m_scroll has been removed from ObjectPaintProperties, as ownership is
now on the transform tree.
* m_scroll has been removed from FrameView, as ownership is now on the
transform tree.
* PaintLayer::sticksToViewport required some involved refactoring
because the cached scroll node is no longer available.
This fixes a squashing bug where PaintArtifactCompositor would stop
merging paint chunks when their scroll nodes differed. This is tested
in: PaintArtifactCompositorTestWithPropertyTrees:NestedScrollNodes.
This patch also passes 30 new layout tests with spv2 enabled.
BUG= 683774
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Review-Url: https://codereview.chromium.org/2657863004
Cr-Commit-Position: refs/heads/master@{#447079}
Committed: https://chromium.googlesource.com/chromium/src/+/3eee970eb6757c6ea3997e0722d7bab727b9c11c
Total comments: 13
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+390 lines, -436 lines) |
Patch |
 |
M |
third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
|
View
|
1
2
3
|
7 chunks |
+2 lines, -33 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/animation/CompositorAnimationsTest.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/FrameView.h
|
View
|
1
|
2 chunks |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/FrameView.cpp
|
View
|
1
2
3
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/BlockPainter.cpp
|
View
|
1
|
1 chunk |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
|
View
|
|
5 chunks |
+0 lines, -9 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/FramePainter.cpp
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/ObjectPaintProperties.h
|
View
|
|
7 chunks |
+22 lines, -33 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/ObjectPaintProperties.cpp
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp
|
View
|
1
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintInvalidator.cpp
|
View
|
1
|
2 chunks |
+9 lines, -6 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
View
|
1
|
1 chunk |
+33 lines, -14 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
|
View
|
1
|
11 chunks |
+45 lines, -65 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
|
View
|
1
|
6 chunks |
+21 lines, -12 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
|
View
|
|
4 chunks |
+13 lines, -8 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintPropertyTreePrinterTest.cpp
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp
|
View
|
|
7 chunks |
+28 lines, -14 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
|
View
|
|
2 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp
|
View
|
1
2
3
|
3 chunks |
+10 lines, -8 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
|
View
|
1
2
3
|
22 chunks |
+66 lines, -87 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp
|
View
|
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/PaintChunkProperties.h
|
View
|
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/PaintChunker.cpp
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/PropertyTreeState.h
|
View
|
|
4 chunks |
+6 lines, -22 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/PropertyTreeState.cpp
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/PropertyTreeStateTest.cpp
|
View
|
|
8 chunks |
+22 lines, -31 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/SkPictureBuilder.cpp
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
|
View
|
1
2
3
|
5 chunks |
+63 lines, -21 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.cpp
|
View
|
1
|
2 chunks |
+9 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/testing/PaintPrinters.cpp
|
View
|
|
1 chunk |
+0 lines, -8 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/testing/PaintPropertyTestHelpers.h
|
View
|
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/testing/TestPaintArtifact.h
|
View
|
|
1 chunk |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp
|
View
|
|
1 chunk |
+5 lines, -6 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/web/tests/WebPluginContainerTest.cpp
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
Total messages: 28 (17 generated)
|