In slimming paint v2 (SPV2) we will need a blink-side auxiliary tree for scrolling data to support compositor-thread scrolling. This tree should match up with the existing cc scroll tree.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/227d9305559686377e566989ae24b8656acad15e commit 227d9305559686377e566989ae24b8656acad15e Author: pdr <pdr@chromium.org> Date: Wed Sep 07 22:01:04 2016 Add comments describing the cc ScrollNode members This patch adds some comments to describe the cc ScrollNode members. BUG= 644514 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2310323002 Cr-Commit-Position: refs/heads/master@{#417071} [modify] https://crrev.com/227d9305559686377e566989ae24b8656acad15e/cc/trees/scroll_node.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1a5fe1b572bf7b446d45558823ac7a8d759628c commit d1a5fe1b572bf7b446d45558823ac7a8d759628c Author: pdr <pdr@chromium.org> Date: Sun Sep 11 00:12:48 2016 [SPV2] Implement the blink-side scroll property tree Blink's scroll tree stores auxiliary scrolling information for compositor-thread scrolling. This includes the hierarchy of scrolling (which areas scroll relative to which other areas), whether an area is user-scrollable in the x or y axes, and the extent that an area can be scrolled. This patch is an initial implementation of the blink scroll paint property tree with documentation, a followup will plumb this to the compositor. A proof-of-concept for the end-to-end design is available at: https://codereview.chromium.org/2299533002 BUG= 644514 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2320463002 Cr-Commit-Position: refs/heads/master@{#417850} [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/frame/FrameView.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/BlockPainter.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/FramePainter.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/test_data/fixed-position.html [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/core/paint/test_data/position-and-scroll.html [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/ClipPaintPropertyNode.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/PaintChunkProperties.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/PropertyTreeState.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/README.md [add] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/ScrollPaintPropertyNode.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/testing/PaintPrinters.cpp [modify] https://crrev.com/d1a5fe1b572bf7b446d45558823ac7a8d759628c/third_party/WebKit/Source/platform/testing/PaintPrinters.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f6a421a86c049a12317f866b0577354fd02c69f9 commit f6a421a86c049a12317f866b0577354fd02c69f9 Author: pdr <pdr@chromium.org> Date: Wed Sep 14 16:46:44 2016 Add scroll_offset and scroll_snap to transform_node's traced value BUG= 644514 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2340663002 Cr-Commit-Position: refs/heads/master@{#418589} [modify] https://crrev.com/f6a421a86c049a12317f866b0577354fd02c69f9/cc/trees/transform_node.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a82582195998dc7862dbdac6209965b7d51840da commit a82582195998dc7862dbdac6209965b7d51840da Author: pdr <pdr@chromium.org> Date: Wed Sep 14 20:10:46 2016 Construct cc scroll tree from blink [spv2] This patch updates PaintArtifactCompositor to create cc's scroll tree from blink's scroll tree. PropertyTreeManager::updateScrollOffset is an interesting part of this patch and is where we resolve the differences between cc's trees and blink's trees. For example, cc's transform node currently stores scroll offset in a separate vector, and cc's scroll tree maintains a separate map of scroll offsets for handling synchronization. A followup patch will add main thread scrolling reasons. Until then, a couple simple tests have been added verifying the cc scroll tree structure. The existing layout tests currently exercise the new scroll tree code end-to-end. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel BUG= 644514 Review-Url: https://codereview.chromium.org/2334403002 Cr-Commit-Position: refs/heads/master@{#418650} [modify] https://crrev.com/a82582195998dc7862dbdac6209965b7d51840da/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp [modify] https://crrev.com/a82582195998dc7862dbdac6209965b7d51840da/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp [modify] https://crrev.com/a82582195998dc7862dbdac6209965b7d51840da/third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp [modify] https://crrev.com/a82582195998dc7862dbdac6209965b7d51840da/third_party/WebKit/Source/platform/testing/TestPaintArtifact.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6da0810c8c2362fc73d911750400ccd5c33cd6ca commit 6da0810c8c2362fc73d911750400ccd5c33cd6ca Author: pdr <pdr@chromium.org> Date: Tue Sep 20 00:50:55 2016 Add background attachment fixed main thread scrolling reason [spv2] This patch adds main thread scrolling reasons to blink's scroll nodes and plumbs them to the compositor. The approach taken in this patch is to match the semantics of cc's scroll_tree so that main thread scrolling reasons are propagated up the scroll tree. Incremental updates are not yet possible but TODOs and tests have been updated to ensure the main thread scroll reasons are recomputed. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel BUG= 644514 Review-Url: https://codereview.chromium.org/2345403003 Cr-Commit-Position: refs/heads/master@{#419614} [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/core/frame/FrameView.cpp [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/core/layout/LayoutObject.h [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp [modify] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca/third_party/WebKit/Source/platform/graphics/paint/ScrollPaintPropertyNode.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d87b686a8b9e559c1f39d8f5cf445c079773e288 commit d87b686a8b9e559c1f39d8f5cf445c079773e288 Author: pdr <pdr@chromium.org> Date: Tue Sep 20 19:47:50 2016 Add "threaded scrolling disabled" main thread scrolling reason [spv2] This patch builds on [1] and adds a main thread scrolling reason for when threaded scrolling is disabled. This setting is likely temporary (see: https://crbug.com/410974#c45) but has been implemented for completeness. [1] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca BUG= 644514 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2358433002 Cr-Commit-Position: refs/heads/master@{#419843} [modify] https://crrev.com/d87b686a8b9e559c1f39d8f5cf445c079773e288/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/d87b686a8b9e559c1f39d8f5cf445c079773e288/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f89757bc09255f07e6d1f2f3738ccff29e3ba374 commit f89757bc09255f07e6d1f2f3738ccff29e3ba374 Author: pdr <pdr@chromium.org> Date: Wed Sep 21 02:06:01 2016 Add position sticky main thread scrolling reason [spv2] This patch builds on [1] and adds position: sticky main thread scrolling reasons to the blink and cc scroll property trees. Position: sticky disables threaded scrolling because the compositor is not yet able to update these. Incremental updates are not yet possible but TODOs and tests have been updated to ensure the main thread scroll reasons are recomputed. [1] https://crrev.com/6da0810c8c2362fc73d911750400ccd5c33cd6ca BUG= 644514 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2353843002 Cr-Commit-Position: refs/heads/master@{#419946} [modify] https://crrev.com/f89757bc09255f07e6d1f2f3738ccff29e3ba374/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp [modify] https://crrev.com/f89757bc09255f07e6d1f2f3738ccff29e3ba374/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/f89757bc09255f07e6d1f2f3738ccff29e3ba374/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/f89757bc09255f07e6d1f2f3738ccff29e3ba374/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0a17da78678ef631de7583ced1be9c749fcdfbda commit 0a17da78678ef631de7583ced1be9c749fcdfbda Author: pdr <pdr@chromium.org> Date: Thu Sep 22 20:45:43 2016 Remove cc's MainThreadScrollingReason::kEventHandlers This patch removes MainThreadScrollingReason::kEventHandlers which was only used in tests. BUG= 644514 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2360113003 Cr-Commit-Position: refs/heads/master@{#420451} [modify] https://crrev.com/0a17da78678ef631de7583ced1be9c749fcdfbda/cc/input/main_thread_scrolling_reason.h [modify] https://crrev.com/0a17da78678ef631de7583ced1be9c749fcdfbda/cc/layers/layer_unittest.cc [modify] https://crrev.com/0a17da78678ef631de7583ced1be9c749fcdfbda/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/0a17da78678ef631de7583ced1be9c749fcdfbda/ui/events/blink/input_handler_proxy_unittest.cc
Fixed right?
Fixed as part of BlinkGenPropertyTrees
Comment 1 Deleted