Design doc: https://docs.google.com/document/d/1WZKlOSUK4XI0Le0fgCsyUTVw0dTwutZXGWwzlHXewiU/edit#heading=h.run5s42ig8qd
https://codereview.chromium.org/1973343003
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3d6dfca4dfae148adecbe787cceeb368442b738b commit 3d6dfca4dfae148adecbe787cceeb368442b738b Author: chrishtr <chrishtr@chromium.org> Date: Sat Jul 02 00:19:46 2016 GeometryMapper: Support computing visual rects in spaces that are not direct ancestors. position: fixed is one example of this. Demonstrate this by mapping an overflow rect for a fixed-position element using property trees, and comparing with the legacy methods. Also adds in some extra debugging info attributing property tree nodes to layout objects in PaintPropertyTreePrinter. BUG= 611379 Review-Url: https://codereview.chromium.org/2105273004 Cr-Commit-Position: refs/heads/master@{#403574} [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/blink_platform.gypi [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/paint/GeometryMapper.h [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/paint/PropertyTreeState.h [add] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/paint/PropertyTreeStateTest.cpp [modify] https://crrev.com/3d6dfca4dfae148adecbe787cceeb368442b738b/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17052eb167de3d772f408039bef7d0fffbaec6a8 commit 17052eb167de3d772f408039bef7d0fffbaec6a8 Author: chrishtr <chrishtr@chromium.org> Date: Thu Aug 11 15:13:18 2016 Add more unittesting for GeometryMapper+PaintPropertyTrreBuilde integration. BUG= 611379 Review-Url: https://codereview.chromium.org/2239443004 Cr-Commit-Position: refs/heads/master@{#411332} [modify] https://crrev.com/17052eb167de3d772f408039bef7d0fffbaec6a8/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp [modify] https://crrev.com/17052eb167de3d772f408039bef7d0fffbaec6a8/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.h [modify] https://crrev.com/17052eb167de3d772f408039bef7d0fffbaec6a8/third_party/WebKit/Source/core/paint/test_data/perspective.html [modify] https://crrev.com/17052eb167de3d772f408039bef7d0fffbaec6a8/third_party/WebKit/Source/core/paint/test_data/position-and-scroll.html [modify] https://crrev.com/17052eb167de3d772f408039bef7d0fffbaec6a8/third_party/WebKit/Source/core/paint/test_data/relative-position-inline.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/638d3879d7acf7e999f82846fec024e433c7cd74 commit 638d3879d7acf7e999f82846fec024e433c7cd74 Author: chrishtr <chrishtr@chromium.org> Date: Fri Aug 12 18:27:57 2016 Adjust visual rect checks to account for slop in old visual rect computations. BUG= 611379 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2238313002 Cr-Commit-Position: refs/heads/master@{#411708} [modify] https://crrev.com/638d3879d7acf7e999f82846fec024e433c7cd74/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3d30a67e378ec3fcaac5809305584bbabca88e18 commit 3d30a67e378ec3fcaac5809305584bbabca88e18 Author: chrishtr <chrishtr@chromium.org> Date: Sat Aug 13 01:17:59 2016 Take CSS Clip and contain: paint into account when computing visual rects. BUG= 611379 , 599939 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2241663002 Cr-Commit-Position: refs/heads/master@{#411843} [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/layout/LayoutBox.cpp [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/layout/LayoutBox.h [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/layout/LayoutObject.h [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/3d30a67e378ec3fcaac5809305584bbabca88e18/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a1cbc4c415513a9bdb904640fab1a91831824a89 commit a1cbc4c415513a9bdb904640fab1a91831824a89 Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org> Date: Sat Aug 13 03:35:06 2016 Auto-rebaseline for r411843 https://chromium.googlesource.com/chromium/src/+/3d30a67e3 BUG= 611379 TBR=chrishtr@chromium.org Review URL: https://codereview.chromium.org/2235233007 . Cr-Commit-Position: refs/heads/master@{#411870} [modify] https://crrev.com/a1cbc4c415513a9bdb904640fab1a91831824a89/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/a1cbc4c415513a9bdb904640fab1a91831824a89/third_party/WebKit/LayoutTests/compositing/repaint/should-not-repaint-composited-descendants-expected.txt
Comment 1 by chrishtr@chromium.org
, May 12 2016