Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3357)

Unified Diff: cc/animation/scrollbar_animation_controller_thinning.cc

Issue 960873002: Update from https://crrev.com/318214 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/animation/scrollbar_animation_controller_thinning.cc
diff --git a/cc/animation/scrollbar_animation_controller_thinning.cc b/cc/animation/scrollbar_animation_controller_thinning.cc
index 0405074b55a311b1c2f5fa5543a6219c5d4cdf20..af6987e0e0b03ff23bfcfb713cfd22d9aa3ebef4 100644
--- a/cc/animation/scrollbar_animation_controller_thinning.cc
+++ b/cc/animation/scrollbar_animation_controller_thinning.cc
@@ -7,6 +7,7 @@
#include "base/time/time.h"
#include "cc/layers/layer_impl.h"
#include "cc/layers/scrollbar_layer_impl_base.h"
+#include "cc/trees/layer_tree_impl.h"
namespace {
const float kIdleThicknessScale = 0.4f;
@@ -23,12 +24,9 @@ ScrollbarAnimationControllerThinning::Create(
base::TimeDelta delay_before_starting,
base::TimeDelta resize_delay_before_starting,
base::TimeDelta duration) {
- return make_scoped_ptr(
- new ScrollbarAnimationControllerThinning(scroll_layer,
- client,
- delay_before_starting,
- resize_delay_before_starting,
- duration));
+ return make_scoped_ptr(new ScrollbarAnimationControllerThinning(
+ scroll_layer, client, delay_before_starting, resize_delay_before_starting,
+ duration));
}
ScrollbarAnimationControllerThinning::ScrollbarAnimationControllerThinning(
@@ -37,11 +35,11 @@ ScrollbarAnimationControllerThinning::ScrollbarAnimationControllerThinning(
base::TimeDelta delay_before_starting,
base::TimeDelta resize_delay_before_starting,
base::TimeDelta duration)
- : ScrollbarAnimationController(client,
+ : ScrollbarAnimationController(scroll_layer,
+ client,
delay_before_starting,
resize_delay_before_starting,
duration),
- scroll_layer_(scroll_layer),
mouse_is_over_scrollbar_(false),
mouse_is_near_scrollbar_(false),
thickness_change_(NONE),
@@ -56,9 +54,10 @@ ScrollbarAnimationControllerThinning::~ScrollbarAnimationControllerThinning() {
void ScrollbarAnimationControllerThinning::RunAnimationFrame(float progress) {
float opacity = OpacityAtAnimationProgress(progress);
- float thumb_thickness_scale = ThumbThicknessScaleAtAnimationProgress(
- progress);
+ float thumb_thickness_scale =
+ ThumbThicknessScaleAtAnimationProgress(progress);
ApplyOpacityAndThumbThicknessScale(opacity, thumb_thickness_scale);
+ client_->SetNeedsRedrawForScrollbarAnimation();
if (progress == 1.f) {
opacity_change_ = NONE;
thickness_change_ = NONE;
@@ -77,7 +76,7 @@ void ScrollbarAnimationControllerThinning::DidMouseMoveOffScrollbar() {
void ScrollbarAnimationControllerThinning::DidScrollUpdate(bool on_resize) {
ScrollbarAnimationController::DidScrollUpdate(on_resize);
ApplyOpacityAndThumbThicknessScale(
- 1, mouse_is_near_scrollbar_ ? 1.f : kIdleThicknessScale);
+ 1, mouse_is_near_scrollbar_ ? 1.f : kIdleThicknessScale);
if (!mouse_is_over_scrollbar_)
opacity_change_ = DECREASE;
@@ -114,9 +113,8 @@ float ScrollbarAnimationControllerThinning::OpacityAtAnimationProgress(
return ret;
}
-float
-ScrollbarAnimationControllerThinning::ThumbThicknessScaleAtAnimationProgress(
- float progress) {
+float ScrollbarAnimationControllerThinning::
+ ThumbThicknessScaleAtAnimationProgress(float progress) {
if (thickness_change_ == NONE)
return mouse_is_near_scrollbar_ ? 1.f : kIdleThicknessScale;
float factor = thickness_change_ == INCREASE ? progress : (1.f - progress);
@@ -135,14 +133,14 @@ float ScrollbarAnimationControllerThinning::AdjustScale(
}
void ScrollbarAnimationControllerThinning::ApplyOpacityAndThumbThicknessScale(
- float opacity, float thumb_thickness_scale) {
+ float opacity,
+ float thumb_thickness_scale) {
if (!scroll_layer_->scrollbars())
return;
LayerImpl::ScrollbarSet* scrollbars = scroll_layer_->scrollbars();
for (LayerImpl::ScrollbarSet::iterator it = scrollbars->begin();
- it != scrollbars->end();
- ++it) {
+ it != scrollbars->end(); ++it) {
ScrollbarLayerImplBase* scrollbar = *it;
if (scrollbar->is_overlay_scrollbar()) {
float effectiveOpacity =
@@ -151,10 +149,9 @@ void ScrollbarAnimationControllerThinning::ApplyOpacityAndThumbThicknessScale(
: 0;
scrollbar->SetOpacity(effectiveOpacity);
- scrollbar->SetThumbThicknessScaleFactor(
- AdjustScale(thumb_thickness_scale,
- scrollbar->thumb_thickness_scale_factor(),
- thickness_change_));
+ scrollbar->SetThumbThicknessScaleFactor(AdjustScale(
+ thumb_thickness_scale, scrollbar->thumb_thickness_scale_factor(),
+ thickness_change_));
}
}
}

Powered by Google App Engine
This is Rietveld 408576698