New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 702832 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocking:
issue 709137



Sign in to add a comment

Overlay scrollbars should trigger animations with element id animation system

Project Member Reported by weiliangc@chromium.org, Mar 17 2017

Issue description

Overlay scrollbar could fade out on impl thread, which is opacity animation.

Right now it is controlled by animation controller posting delayed tasks, and then use the scrollbar layer to access the effect node.

The general animation system sets up element id, and use element id to tick animation.

It should be possible to use the animation system right now to tick the opacity animation. This would also remove some code that is overlay scrollbar only.

Though animation element id needed to be added on Blink side and then passed to cc.
 
Owner: chaopeng@chromium.org
Blocking: 709137
Owner: chrishtr@chromium.org
Project Member

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

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f556cef44f474c02e486e7c3e4eec685dc50794c

commit f556cef44f474c02e486e7c3e4eec685dc50794c
Author: chrishtr <chrishtr@chromium.org>
Date: Sat May 13 05:31:01 2017

Fix cc scrollbar layer issues with initialization, and use element ids throughout.

1. Previously, there was an issue with initialization paths for cc scrollbar
layers, which may be created when property trees are in an inconsistent state.
Now we never try to update property tree opacity during construction, and
also pass correct initial opacities from the pending tree rather than assuming
0.0f.

2. Deleted workaround code to bail out during the condition #1 described above.

3. Removed always_use_active_tree_opacity_effect_ids and corresponding methods
on layers, in favor of re-using the existing list of scrollbar animation
controllers on LayerTreeHostImpl. It turned out that there was an exact match
between the layers put in always_use_active_tree_opacity_effect_ids and scrollbars.
This also removes another instance of looking up effect id by node.

4. Start always setting ElementId on scrollbar layers, to support #3 above.
To do this, added a new namespace for CompsitorElementId, and also performed
some related cleanup along the way.

BUG= 718564 , 702832 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2877033002
Cr-Commit-Position: refs/heads/master@{#471564}

[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/blink/web_scrollbar_layer_impl.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/blink/web_scrollbar_layer_impl.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/input/scrollbar_animation_controller.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/input/scrollbar_animation_controller.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/input/scrollbar_animation_controller_unittest.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/layer.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/layer.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/painted_overlay_scrollbar_layer.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/painted_overlay_scrollbar_layer.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/painted_scrollbar_layer.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/painted_scrollbar_layer.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/scrollbar_layer_impl_base.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/scrollbar_layer_unittest.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/solid_color_scrollbar_layer.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/layers/solid_color_scrollbar_layer.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/property_tree.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/property_tree.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/cc/trees/property_tree_builder.cc
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/animation/Animation.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/animation/AnimationTest.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/frame/VisualViewport.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/page/scrolling/ScrollState.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/platform/graphics/CompositorElementId.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/platform/graphics/CompositorElementId.h
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/platform/graphics/CompositorElementIdTest.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/platform/graphics/CompositorMutableStateProvider.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/platform/graphics/CompositorMutableStateTest.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/web/LinkHighlightImpl.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp
[modify] https://crrev.com/f556cef44f474c02e486e7c3e4eec685dc50794c/third_party/WebKit/public/platform/WebScrollbarLayer.h

Chris, are you still working on this or should someone pick it up?
It should be done, but the comment on lines 63-64 of scrollbar_layer_impl_base.h
needs to be updated. Go ahead and take it if you want to land that patch.
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a5466013c7af978cf4c8271d1cf307241d93dc8

commit 0a5466013c7af978cf4c8271d1cf307241d93dc8
Author: Chris Harrelson <chrishtr@chromium.org>
Date: Wed Aug 23 23:40:30 2017

Remove obsolete comment.

Bug:  702832 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id2460718f226b85ba7068b6ad9a635394a4c49b6
Reviewed-on: https://chromium-review.googlesource.com/629967
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Walter Korman <wkorman@chromium.org>
Reviewed-by: Walter Korman <wkorman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496869}
[modify] https://crrev.com/0a5466013c7af978cf4c8271d1cf307241d93dc8/cc/layers/scrollbar_layer_impl_base.h

Status: WontFix (was: Assigned)
Status: Fixed (was: WontFix)

Sign in to add a comment