New issue
Advanced search Search tips

Issue 723263 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 471333
issue 693740



Sign in to add a comment

Remove scroll_clip_layer

Project Member Reported by pdr@chromium.org, May 17 2017

Issue description

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.
 
Labels: BugSource-Team PaintTeamTriaged-20170517
Project Member

Comment 2 by bugdroid1@chromium.org, May 18 2017

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

Project Member

Comment 3 by bugdroid1@chromium.org, May 18 2017

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

Project Member

Comment 4 by bugdroid1@chromium.org, May 19 2017

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

Project Member

Comment 5 by bugdroid1@chromium.org, May 19 2017

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

Project Member

Comment 6 by bugdroid1@chromium.org, May 21 2017

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

Project Member

Comment 7 by bugdroid1@chromium.org, May 22 2017

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

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 2 2017

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

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 4 2017

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

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 5 2017

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

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 12 2017

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

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 16 2017

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

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 17 2017

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

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 22 2017

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

Project Member

Comment 15 by bugdroid1@chromium.org, Jun 28 2017

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

Project Member

Comment 16 by bugdroid1@chromium.org, Jun 30 2017

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

Project Member

Comment 17 by bugdroid1@chromium.org, Jun 30 2017

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 18 by pdr@chromium.org, Jun 30 2017

Status: Fixed (was: Started)

Comment 19 by pdr@chromium.org, Jul 13 2017

Blocking: 471333

Sign in to add a comment