New issue
Advanced search Search tips

Issue 652826 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome
Pri: 1
Type: Bug

Blocking:
issue 307091
issue 652520



Sign in to add a comment

Implement fade in/out of material design scrollbars

Project Member Reported by bokan@chromium.org, Oct 4 2016

Issue description

As noted in issue 652520, the scrollbars should be visible only when the user scrolls. At that point, they should instantly appear. After 1000ms of non-scrolling, they should fade out over 200ms.
 

Comment 1 by bokan@chromium.org, Oct 4 2016

Labels: -Pri-3 M-56 Pri-1
This is quite high priority so please make this your next bug. Thanks.

Comment 2 by sahel@chromium.org, Oct 7 2016

Status: Started (was: Assigned)

Comment 3 by bokan@chromium.org, Oct 17 2016

Cc: sahel@chromium.org
Owner: bokan@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 21 2016

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

commit 6cd8cd30ad46f2ac0f9064289f876c73b050dddd
Author: bokan <bokan@chromium.org>
Date: Fri Oct 21 03:38:44 2016

Implement fade-out animation for Aura overlay scrollbars (CC only).

This change implements the fade out animation in the scroll animation
controller used for Aura overlay scrollbars. It only affects composited
scrollers for now.

This change makes the thinning controller responsible for scheduling two
animations: fading and thinning. It does this by making sure that only one
animation is ever running at a time and making sure to schedule a fade at the
end of a thinning animation if needed.

This patch removes the animated opacity changes between different hover states
since they're no longer part of the specified behavior. It adds a simpler
animated fade out similar to the "linear fade" controller when the scroller is
idle for some time.

It also cleans up the tests for the thinning controller, using constants where
appropriate and making most tests oblivious to animation timing.

BUG= 652826 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://chromiumcodereview.appspot.com/2442573002
Cr-Commit-Position: refs/heads/master@{#426711}

[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller.cc
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller.h
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller_linear_fade.cc
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller_linear_fade.h
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller_thinning.cc
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller_thinning.h
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/input/scrollbar_animation_controller_thinning_unittest.cc
[modify] https://crrev.com/6cd8cd30ad46f2ac0f9064289f876c73b050dddd/cc/trees/layer_tree_impl.cc

Comment 5 by bokan@chromium.org, Oct 21 2016

Blocking: 652520
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 30 2016

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

commit 169f5add2dd64e14cb89c8ac388bc81cc32121d8
Author: bokan <bokan@chromium.org>
Date: Sun Oct 30 16:32:48 2016

Disable overlay scrollbars in Blink when hidden by the compositor.

This patch adds and plumbs through a one-way notification from the compositor's
impl thread to Blink. This is used to prevent Blink from handling user input on
Scrollbars in cases where they've been hidden, as happens when overlay
scrollbars remain idle for a small amount of time. This patch makes use of this
setting when fading out scrollbars on the compositor but this will also be used
in Blink when scrollbars are faded-out there for non-composited scrollers. This
should have no visible effect for anything but Aura overlay scrollbars.

BUG= 652826 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

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

[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/input/scrollbar_animation_controller.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/input/scrollbar_animation_controller.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/input/scrollbar_animation_controller_linear_fade_unittest.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/input/scrollbar_animation_controller_thinning.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/input/scrollbar_animation_controller_thinning.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/input/scrollbar_animation_controller_thinning_unittest.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/layers/layer.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/layers/layer.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/layers/layer_client.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/layers/layer_impl.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/layers/layer_impl.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/proto/begin_main_frame_and_commit_state.proto
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/trees/layer_tree_host_common.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/trees/layer_tree_host_common.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/trees/layer_tree_host_in_process.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/cc/trees/property_tree.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/ui/compositor/layer.cc
[modify] https://crrev.com/169f5add2dd64e14cb89c8ac388bc81cc32121d8/ui/compositor/layer.h

Comment 7 by bokan@chromium.org, Nov 1 2016

Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Verified on ChromeOS 9000.0.0, 56.0.2923.0

Sign in to add a comment