Index: cc/input/scrollbar_animation_controller.cc |
diff --git a/cc/input/scrollbar_animation_controller.cc b/cc/input/scrollbar_animation_controller.cc |
index 14dfe30a5ef5312c4bc693260022cea074e493c5..1f066dbc610944779ae68a55a25427e0b404448c 100644 |
--- a/cc/input/scrollbar_animation_controller.cc |
+++ b/cc/input/scrollbar_animation_controller.cc |
@@ -164,6 +164,7 @@ void ScrollbarAnimationController::RunAnimationFrame(float progress) { |
opacity = std::min(1.f - progress, opacity_); |
} |
+ NotifyScrollbarLayersOfOpacityAnimation(opacity); |
ApplyOpacityToScrollbars(opacity); |
if (progress == 1.f) |
StopAnimation(); |
@@ -330,16 +331,20 @@ bool ScrollbarAnimationController::Captured() const { |
void ScrollbarAnimationController::Show() { |
delayed_scrollbar_animation_.Cancel(); |
+ NotifyScrollbarLayersOfOpacityAnimation(1.0f); |
ApplyOpacityToScrollbars(1.0f); |
} |
-void ScrollbarAnimationController::ApplyOpacityToScrollbars(float opacity) { |
+void ScrollbarAnimationController::NotifyScrollbarLayersOfOpacityAnimation( |
+ float opacity) { |
for (ScrollbarLayerImplBase* scrollbar : Scrollbars()) { |
DCHECK(scrollbar->is_overlay_scrollbar()); |
float effective_opacity = scrollbar->CanScrollOrientation() ? opacity : 0; |
scrollbar->SetOverlayScrollbarLayerOpacityAnimated(effective_opacity); |
} |
+} |
+void ScrollbarAnimationController::ApplyOpacityToScrollbars(float opacity) { |
bool previouslyVisible = opacity_ > 0.0f; |
bool currentlyVisible = opacity > 0.0f; |