Every Layer and LayerImpl tracks an optional scroll_clip_layer for when there is a clipping layer associated with a scrolling layer. To cleanup the API in preparation for SPV2, we should remove scroll_clip_layer.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9bb53af48ddd915e3b94a145722ad9e2d6650fc8 commit 9bb53af48ddd915e3b94a145722ad9e2d6650fc8 Author: pdr <pdr@chromium.org> Date: Thu May 18 03:25:33 2017 Remove scroll_clip_layer dependency from viewport layer tracking This patch prepares for removing scroll_clip_layer by removing uses of scroll_clip_layer from the viewport layers. All 4 viewport layers are now tracked explicitly instead of just tracking the scroll layers and using scroll_clip_layer() to lookup the container layers. BUG= 723263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2887053002 Cr-Commit-Position: refs/heads/master@{#472630} [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/layers/layer_impl_unittest.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/layers/layer_position_constraint_unittest.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/test/fake_layer_tree_host.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/test/layer_tree_test.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/test/test_layer_tree_host_base.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host.h [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host_unittest_picture.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_impl.h [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/cc/trees/layer_tree_impl_unittest.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/content/renderer/gpu/render_widget_compositor.cc [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/content/renderer/gpu/render_widget_compositor.h [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.h [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/Source/platform/graphics/GraphicsLayerTest.cpp [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.cpp [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.h [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/Source/web/WebViewImpl.cpp [modify] https://crrev.com/9bb53af48ddd915e3b94a145722ad9e2d6650fc8/third_party/WebKit/public/platform/WebLayerTreeView.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78cd664ac3acc2860377064d0541b015486749d1 commit 78cd664ac3acc2860377064d0541b015486749d1 Author: pdr <pdr@chromium.org> Date: Thu May 18 18:51:25 2017 Remove scroll_clip_layer dependency from LayerTreeImpl::ScrollableSize This patch prepares for removing scroll_clip_layer by removing uses of scroll_clip_layer from LayerTreeImpl::ScrollableSize. BUG= 723263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2888243002 Cr-Commit-Position: refs/heads/master@{#472888} [modify] https://crrev.com/78cd664ac3acc2860377064d0541b015486749d1/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/78cd664ac3acc2860377064d0541b015486749d1/cc/trees/layer_tree_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/53abb45ba61e417487ad645357223efebd234b93 commit 53abb45ba61e417487ad645357223efebd234b93 Author: pdr <pdr@chromium.org> Date: Fri May 19 01:59:42 2017 Refactor SetViewportLayerIds to use a struct instead of 6 values This patch refactors LayerTreeImpl::SetViewportLayerIds to use a ViewportLayerIds struct instead of 6 values. This is just a cleanup to make the code more readable. BUG= 723263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2889093003 Cr-Commit-Position: refs/heads/master@{#473030} [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/layers/layer_impl_unittest.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/test/fake_layer_tree_host.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/test/test_layer_tree_host_base.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/trees/layer_tree_host.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/trees/layer_tree_impl.h [modify] https://crrev.com/53abb45ba61e417487ad645357223efebd234b93/cc/trees/layer_tree_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf7130daaa2be71bdf491a8ae09685551ed98615 commit bf7130daaa2be71bdf491a8ae09685551ed98615 Author: pdr <pdr@chromium.org> Date: Fri May 19 21:19:13 2017 DCHECK that property tree access is safe in LayerTreeImpl::DidUpdateScrollState This patch adds a DCHECK in LayerTreeImpl::DidUpdateScrollState that property trees are synced and can be used. This required changing PushPropertiesCountingLayerImpl to not call SetBounds in the ctor which was not actually needed because the value would get synced. This patch doesn't change behavior and just prepares for a future patch which will use the scroll property tree to look up a LayerImpl's scroll bounds instead of accessing this through scroll_clip_layer (e.g., clip_size in LayerTreeImpl::UpdateScrollbars). BUG= 723263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2897703002 Cr-Commit-Position: refs/heads/master@{#473320} [modify] https://crrev.com/bf7130daaa2be71bdf491a8ae09685551ed98615/cc/test/push_properties_counting_layer_impl.cc [modify] https://crrev.com/bf7130daaa2be71bdf491a8ae09685551ed98615/cc/trees/layer_tree_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5200a050cd3a47af602de882ad2927b6af05c310 commit 5200a050cd3a47af602de882ad2927b6af05c310 Author: pdr <pdr@chromium.org> Date: Sun May 21 22:50:58 2017 Refactor RegisterViewportLayers to use a struct instead of 6 values This patch refactors LayerTreeHost::RegisterViewportLayers to use a ViewportLayers struct instead of 6 values. This is just a cleanup to make the code more readable. BUG= 723263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2886243004 Cr-Commit-Position: refs/heads/master@{#473485} [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/layers/layer_position_constraint_unittest.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/test/layer_tree_test.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/trees/layer_tree_host.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/trees/layer_tree_host.h [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/trees/layer_tree_host_unittest_picture.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/content/renderer/gpu/render_widget_compositor.cc [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/content/renderer/gpu/render_widget_compositor.h [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.cpp [modify] https://crrev.com/5200a050cd3a47af602de882ad2927b6af05c310/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8cafc0ba2edea517372c716dd76c11164095c1ad commit 8cafc0ba2edea517372c716dd76c11164095c1ad Author: pdr <pdr@chromium.org> Date: Mon May 22 18:39:17 2017 Refactor scrollbar maps from multimap & std::set to simpler flat_{map, set} LayerTreeImpl used a multimap to track two scrollbar layer ids (horizontal and vertical, both optional) which is inefficient. This patch refactors this map to be a flat_map of ElementId to a pair of layer ids. Although not necessary for this patch, ScrollbarLayerImplBase has been refactored to use a flat_set instead of an std::set for similar reasons. BUG= 723263 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2894673008 Cr-Commit-Position: refs/heads/master@{#473637} [modify] https://crrev.com/8cafc0ba2edea517372c716dd76c11164095c1ad/cc/layers/scrollbar_layer_impl_base.h [modify] https://crrev.com/8cafc0ba2edea517372c716dd76c11164095c1ad/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/8cafc0ba2edea517372c716dd76c11164095c1ad/cc/trees/layer_tree_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5e56378a4010596474851b57a8fccf49ea0c88f6 commit 5e56378a4010596474851b57a8fccf49ea0c88f6 Author: Philip Rogers <pdr@chromium.org> Date: Fri Jun 02 21:19:56 2017 Defer scrollbar geometry (e.g., thumb length) updates Before this patch, scrollbar geometry was synchronously updated when any layer property changed. This patch defers this update until PrepareToDraw by using a dirty bit pattern: changes that can affect scrollbar geometry mark the LayerTreeImpl as needing a geometry update. Later in PrepareToDraw, all scrollbar geometries are updated if needed. This has three advantages: 1) The scrollbar update can DCHECK that the lifecycle allows layer property access. This simplifies the code because it is now clear that the scrollbar update uses up-to-date layer properties. This was previously safe because scrollbars were updated after any scrollbar property change. 2) LayerTreeImpl::RegisterScrollbar no longer calls LayerIdByElementId. 3) LayerTreeImpl's clip_scroll_map_ has been removed. This was a cache of LayerImpl::scroll_clip_layer and gets us closer to removing scroll_clip_layer. This patch also adds a test of viewport scrollbars getting pushed by the browser controls (HidingBrowserControlsAdjustsScrollbarPosition). BUG= 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ic6b582cb01fba3e1f71e5aa7d6787582c25ab29c Reviewed-on: https://chromium-review.googlesource.com/517762 Commit-Queue: Philip Rogers <pdr@chromium.org> Reviewed-by: enne <enne@chromium.org> Reviewed-by: Chris harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#476796} [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/input/scrollbar_animation_controller_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/input/single_scrollbar_animation_controller_thinning_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/layer_impl.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/layer_impl_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/painted_scrollbar_layer_impl_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/scrollbar_layer_impl_base.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/scrollbar_layer_impl_base.h [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/scrollbar_layer_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/test/fake_layer_tree_host.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/trees/layer_tree_host_impl.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/5e56378a4010596474851b57a8fccf49ea0c88f6/cc/trees/layer_tree_impl.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5d7f817df99b9d87ef1f4d65529b2bba958a5713 commit 5d7f817df99b9d87ef1f4d65529b2bba958a5713 Author: Philip Rogers <pdr@chromium.org> Date: Sun Jun 04 19:13:42 2017 Move LayerImpl's user_scrollable bits to scroll nodes This patch removes LayerImpl::user_scrollable_horizontal and LayerImpl::user_scrollable_vertical. LayerImpl can then use the values available in the property tree's scroll nodes. The primary benefit of this patch is that more logic is moved into property trees. BUG: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I0bae76964d43eefde87a4ff036cc24b53c7590e1 Reviewed-on: https://chromium-review.googlesource.com/521696 Commit-Queue: Philip Rogers <pdr@chromium.org> Reviewed-by: Chris harrelson <chrishtr@chromium.org> Reviewed-by: enne <enne@chromium.org> Cr-Commit-Position: refs/heads/master@{#476913} [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/input/scroll_elasticity_helper.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/input/scrollbar_animation_controller_unittest.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/layers/layer.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/layers/layer_impl.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/layers/layer_impl.h [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/layers/layer_impl_test_properties.h [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/layers/layer_impl_unittest.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/layers/scrollbar_layer_impl_base.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/trees/layer_tree_host_impl.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/trees/layer_tree_host_impl.h [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/5d7f817df99b9d87ef1f4d65529b2bba958a5713/cc/trees/property_tree_builder.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e9c1b48e0db6ffe597c576469d36fb5177fa2b14 commit e9c1b48e0db6ffe597c576469d36fb5177fa2b14 Author: pdr <pdr@chromium.org> Date: Mon Jun 05 18:47:11 2017 Make scrollbar geometry update use scroll nodes for bounds This patch switches LayerTreeImpl::UpdateScrollbarGeometries to use scroll tree sizes (bounds & clip bounds) instead of using LayerImpl. This removes another callsite of LayerImpl::scroll_clip_layer. A future patch should make UpdateScrollbarGeometries use the scroll tree for scroll offset as well, removing the LayerImpl dependency entirely. BUG: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I018f599c53fd7b1a10b0516e524d9d8b7d0c9cc2 Reviewed-on: https://chromium-review.googlesource.com/523583 Reviewed-by: enne <enne@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#477042} [modify] https://crrev.com/e9c1b48e0db6ffe597c576469d36fb5177fa2b14/cc/input/scrollbar_animation_controller_unittest.cc [modify] https://crrev.com/e9c1b48e0db6ffe597c576469d36fb5177fa2b14/cc/layers/scrollbar_layer_unittest.cc [modify] https://crrev.com/e9c1b48e0db6ffe597c576469d36fb5177fa2b14/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/e9c1b48e0db6ffe597c576469d36fb5177fa2b14/cc/trees/layer_tree_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e commit f90a06923ff3b31c8c5ba833fe7b13ab88084d5e Author: Philip Rogers <pdr@chromium.org> Date: Mon Jun 12 23:28:25 2017 Remove unused ScrollbarLayerInterface functions This patch removes orientation() and scroll_element_id() from ScrollbarLayerInterface as these are not used. The corresponding getters/setters on ScrollbarLayerImplBase are needed but the Layer interface is only used to pass these values along. BUG: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I4631dc469b1f6776f3e6d4246bed39d94316822f Reviewed-on: https://chromium-review.googlesource.com/530490 Reviewed-by: Chris harrelson <chrishtr@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#478818} [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/painted_overlay_scrollbar_layer.cc [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/painted_overlay_scrollbar_layer.h [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/painted_scrollbar_layer.cc [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/painted_scrollbar_layer.h [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/scrollbar_layer_interface.h [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/solid_color_scrollbar_layer.cc [modify] https://crrev.com/f90a06923ff3b31c8c5ba833fe7b13ab88084d5e/cc/layers/solid_color_scrollbar_layer.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d9e5ffde877bfe3f7264f0704dddd81507038067 commit d9e5ffde877bfe3f7264f0704dddd81507038067 Author: Philip Rogers <pdr@chromium.org> Date: Fri Jun 16 05:54:53 2017 Remove scroll clip layer dependency from scroll page scale bit This patch removes the scroll clip layer dependency when setting ScrollNode.max_scroll_offset_affected_by_page_scale. This page scale bit is set when a scroll node's container bounds are affected by page scale. Previously, this was set when there was a page scale layer between the scroll clip layer's transform and the scroll's transform. This patch relies on the page scale being a viewport layer to implement the same logic. BUG: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ie89059a648f36cae4e4a5eb1f2c89b0ebc9456ff Reviewed-on: https://chromium-review.googlesource.com/530013 Commit-Queue: Philip Rogers <pdr@chromium.org> Reviewed-by: enne <enne@chromium.org> Cr-Commit-Position: refs/heads/master@{#479962} [modify] https://crrev.com/d9e5ffde877bfe3f7264f0704dddd81507038067/cc/layers/layer_position_constraint_unittest.cc [modify] https://crrev.com/d9e5ffde877bfe3f7264f0704dddd81507038067/cc/trees/layer_tree_host.cc [modify] https://crrev.com/d9e5ffde877bfe3f7264f0704dddd81507038067/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/d9e5ffde877bfe3f7264f0704dddd81507038067/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/d9e5ffde877bfe3f7264f0704dddd81507038067/cc/trees/property_tree_builder.cc [modify] https://crrev.com/d9e5ffde877bfe3f7264f0704dddd81507038067/third_party/WebKit/Source/platform/graphics/GraphicsLayerTest.cpp
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e3981307d5a02584ece4507dc52ecc64061d118b commit e3981307d5a02584ece4507dc52ecc64061d118b Author: pdr <pdr@chromium.org> Date: Sat Jun 17 00:49:04 2017 Remove a LayerByElementId call from UpdateScrollbarGeometries BUG: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: Iecab2e5ecbccf7cf604fa0528cf1ac29cccb1802 Reviewed-on: https://chromium-review.googlesource.com/538979 Reviewed-by: Chris harrelson <chrishtr@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#480251} [modify] https://crrev.com/e3981307d5a02584ece4507dc52ecc64061d118b/cc/trees/layer_tree_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9c772586993200719af3c82df4b6a8763f4828b2 commit 9c772586993200719af3c82df4b6a8763f4828b2 Author: pdr <pdr@chromium.org> Date: Thu Jun 22 21:30:48 2017 Give RenderViewTest a non-zero initial size for scrolling This patch sets RenderViewTest's initial size to be 400x300 instead of 0x0 so scrolling can work. This is in preparation for a future patch that asserts scroll layers have non-zero dimensions. The following test changes were required: 1) RenderViewTest.MacTestCmdUp: removed a TODO hack that made the document non-empty for scrolling. 2) PasswordGenerationAgentTest.FillTest previously used a gesture to focus an initial element but this gesture event failed because the window size was empty. This patch removes the gesture event so the test still has no initial focused element. 3) RenderViewImplTest.NavigateSubframe no longer wraps "hello world". 4) RenderFrameImplTest.FrameResize has been changed so it does change the viewport instead of leaving it with a 0,0 size, and a new test proves it. Bug: 723263 Change-Id: Ie1d56dcbf09ddf6250011a8a59e6c07fafd60346 Reviewed-on: https://chromium-review.googlesource.com/541982 Reviewed-by: Charlie Reis <creis@chromium.org> Reviewed-by: Vaclav Brozek <vabr@chromium.org> Reviewed-by: enne <enne@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#481668} [modify] https://crrev.com/9c772586993200719af3c82df4b6a8763f4828b2/chrome/renderer/autofill/password_generation_agent_browsertest.cc [modify] https://crrev.com/9c772586993200719af3c82df4b6a8763f4828b2/content/public/test/render_view_test.cc [modify] https://crrev.com/9c772586993200719af3c82df4b6a8763f4828b2/content/renderer/render_frame_impl_browsertest.cc [modify] https://crrev.com/9c772586993200719af3c82df4b6a8763f4828b2/content/renderer/render_view_browsertest.cc [modify] https://crrev.com/9c772586993200719af3c82df4b6a8763f4828b2/content/renderer/render_view_browsertest_mac.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bbfd882e098b95178a373cbaa079636490f2f3f4 commit bbfd882e098b95178a373cbaa079636490f2f3f4 Author: pdr <pdr@chromium.org> Date: Wed Jun 28 00:53:23 2017 Remove Layer/LayerImpl's scroll_clip_layer and instead track scrolling bounds This patch removes scroll_clip_layer from Layer and LayerImpl which removes a major layer dependency for scrolling (e.g., with this patch, ScrollNode's owning_layer_id can be removed). Instead of tracking the scroll container bounds with a Layer, this patch tracks it explicitly as Layer/LayerImpl's scroll_container_bounds. If clipping is desired, a clip layer will still need to be added and manually kept up-to-date with the scrolling layer's scroll container bounds. A TODO has been added to rename ScrollNode's scroll_clip_bounds to be scroll_container_bounds. The scroll_clip concept was particularily confusing for WebView which has a scrolling concept that does not clip. Bug: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Idd994862b01b3fa9d9c50648fb9ecf816886c558 Reviewed-on: https://chromium-review.googlesource.com/545089 Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: danakj <danakj@chromium.org> Reviewed-by: enne <enne@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#482827} [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/blink/web_layer_impl.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/blink/web_layer_impl.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/input/scrollbar_animation_controller_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/input/single_scrollbar_animation_controller_thinning_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer_impl.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer_impl.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer_impl_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer_perftest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer_position_constraint_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/layer_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/painted_scrollbar_layer_impl_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/scrollbar_layer_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/test/layer_tree_json_parser.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/test/layer_tree_test.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/test/test_layer_tree_host_base.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/draw_property_utils.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_impl.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_impl.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_unittest_animation.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_unittest_damage.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_unittest_picture.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/property_tree_builder.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/scroll_node.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/cc/trees/tree_synchronizer_unittest.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/third_party/WebKit/Source/core/frame/VisualViewport.cpp [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/third_party/WebKit/Source/platform/graphics/GraphicsLayerTest.cpp [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/third_party/WebKit/public/platform/WebLayer.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/ui/compositor/layer.cc [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/ui/compositor/layer.h [modify] https://crrev.com/bbfd882e098b95178a373cbaa079636490f2f3f4/ui/views/controls/scroll_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/85e5e79555c765c95c59f523676f37935cb4f509 commit 85e5e79555c765c95c59f523676f37935cb4f509 Author: pdr <pdr@chromium.org> Date: Fri Jun 30 02:49:51 2017 Rename ScrollPaintPropertyNode's Clip() to ContainerBounds() With [1], a scroll node's container bounds no longer necessarily clip. This change renames ScrollPaintPropertyNode's members/functions to reflect the new meaning of these bounds. [1] https://chromium.googlesource.com/chromium/src.git/+/bbfd882e098b95178a373cbaa079636490f2f3f4 Bug: 723263 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I2a077ee7a5c1c5117327ba97443e64088378e60f Reviewed-on: https://chromium-review.googlesource.com/556921 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#483604} [modify] https://crrev.com/85e5e79555c765c95c59f523676f37935cb4f509/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp [modify] https://crrev.com/85e5e79555c765c95c59f523676f37935cb4f509/third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp [modify] https://crrev.com/85e5e79555c765c95c59f523676f37935cb4f509/third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp [modify] https://crrev.com/85e5e79555c765c95c59f523676f37935cb4f509/third_party/WebKit/Source/platform/graphics/paint/ScrollPaintPropertyNode.cpp [modify] https://crrev.com/85e5e79555c765c95c59f523676f37935cb4f509/third_party/WebKit/Source/platform/graphics/paint/ScrollPaintPropertyNode.h [modify] https://crrev.com/85e5e79555c765c95c59f523676f37935cb4f509/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0dd36f4eeb07d64ae786f54d0db7932a637f3a15 commit 0dd36f4eeb07d64ae786f54d0db7932a637f3a15 Author: Philip Rogers <pdr@chromium.org> Date: Fri Jun 30 23:33:37 2017 Rename ScrollNode's scroll_clip_layer_bounds to container_bounds With [1], a scroll node's container bounds no longer necessarily clip, and no longer refer to a clip layer. This change renames ScrollNode's members/functions to reflect the new meaning of these bounds. [1] https://chromium.googlesource.com/chromium/src.git/+/bbfd882e098b95178a373cbaa079636490f2f3f4 Bug: 723263 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I3f9e4f797f150776113868e911d53f53e10cf719 Reviewed-on: https://chromium-review.googlesource.com/557973 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#483862} [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/layers/layer.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/layers/layer.h [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/layers/layer_impl.h [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/layer_tree_host_impl.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/property_tree.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/property_tree.h [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/property_tree_builder.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/scroll_node.cc [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/cc/trees/scroll_node.h [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/third_party/WebKit/Source/platform/graphics/compositing/PropertyTreeManager.cpp [modify] https://crrev.com/0dd36f4eeb07d64ae786f54d0db7932a637f3a15/third_party/WebKit/Source/platform/graphics/paint/ScrollPaintPropertyNode.h
Comment 1 by schenney@chromium.org
, May 17 2017