Add a placeholder display item for scroll hit testing

Desktop / Chromium - Philip Rogers [chromium.org] - 9 August 2017 13:52 EDT

This patch adds a new display item used for creating scrollable hit test layers in the correct paint order. ScrollHitTestDisplayItems are created during the background paint phase to ensure hit test order is correct.

This approach results in extra invalidations and a followup patch will move ScrollHitTest display items to special scrollable cc::Layers which should resolve these.

This patch is part of a series of patches to add scrollable hit test layers in SPV2. A proof-of-concept patch is at: https://chromium-review.googlesource.com/c/554060.

Bug: 738613 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I19482ac9da104e7a0a52873af48e8b0a069d5912 Reviewed-on: https://chromium-review.googlesource.com/592650 Commit-Queue: Philip Rogers

56ebfeb6 Add a placeholder display item for scroll hit testing
.../FlagExpectations/enable-slimming-paint-v2 | 16 +++
.../WebKit/Source/core/paint/BlockPainter.cpp | 49 +++++++
.../WebKit/Source/core/paint/BlockPainter.h | 3 +
.../Source/core/paint/PaintControllerPaintTest.cpp | 156 ++++++++++++++++++++-
.../Source/core/paint/PaintControllerPaintTest.h | 1 +
third_party/WebKit/Source/platform/BUILD.gn | 2 +
.../graphics/compositing/PaintChunksToCcLayer.cpp | 5 +-
.../Source/platform/graphics/paint/DisplayItem.cpp | 10 ++
.../Source/platform/graphics/paint/DisplayItem.h | 5 +
.../Source/platform/graphics/paint/README.md | 7 +
.../graphics/paint/ScrollHitTestDisplayItem.cpp | 59 ++++++++
.../graphics/paint/ScrollHitTestDisplayItem.h | 44 ++++++
12 files changed, 352 insertions(+), 5 deletions(-)

Upstream: git.chromium.org


  • Share