| Index: cc/input/scrollbar_animation_controller_thinning_unittest.cc
|
| diff --git a/cc/input/scrollbar_animation_controller_thinning_unittest.cc b/cc/input/scrollbar_animation_controller_thinning_unittest.cc
|
| index e1a1aa3cd53a5b79aafd9cd8c544d86f539232cf..a04c13ec59cc4bb54ded6c63d6c3ba6f82f7b84f 100644
|
| --- a/cc/input/scrollbar_animation_controller_thinning_unittest.cc
|
| +++ b/cc/input/scrollbar_animation_controller_thinning_unittest.cc
|
| @@ -386,5 +386,143 @@ TEST_F(ScrollbarAnimationControllerThinningTest, MouseNearThenOver) {
|
| EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| }
|
|
|
| +// First move the pointer on the scrollbar, then press it, then away and move
|
| +// down. Confirm that the bar gets thick and dark. Then mouse up. Confirm that
|
| +// the bar gets thickness and light.
|
| +TEST_F(ScrollbarAnimationControllerThinningTest,
|
| + MouseCaptureAndReleaseOutOfBar) {
|
| + base::TimeTicks time;
|
| +
|
| + // Move in
|
| + scrollbar_controller_->DidMouseMoveNear(0);
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.7f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.4f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + // Should animate to thickened and darkened.
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.8f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.6f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.9f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.8f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + // Capture
|
| + scrollbar_controller_->DidCaptureScrollbarBegin();
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + // move away from bar.
|
| + scrollbar_controller_->DidMouseMoveNear(26);
|
| +
|
| + // test for 10 seconds, stay thick and dark
|
| + for (int i = 0; i < 10; ++i) {
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| + }
|
| +
|
| + // release
|
| + scrollbar_controller_->DidCaptureScrollbarEnd();
|
| +
|
| + // get thickness and light
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.9f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.8f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.8f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.6f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.7f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.4f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +}
|
| +
|
| +// First move the pointer on the scrollbar, then press it, then away and move
|
| +// down. Confirm that the bar gets thick and dark. Then move point on the
|
| +// scrollbar and mouse up. Confirm that the bar gets thick and dark.
|
| +TEST_F(ScrollbarAnimationControllerThinningTest, MouseCaptureAndReleaseOnBar) {
|
| + base::TimeTicks time;
|
| +
|
| + // Move in
|
| + scrollbar_controller_->DidMouseMoveNear(0);
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.7f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.4f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + // Should animate to thickened and darkened.
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.8f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.6f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(0.9f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(0.8f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + // Capture
|
| + scrollbar_controller_->DidCaptureScrollbarBegin();
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| +
|
| + // move away from bar.
|
| + scrollbar_controller_->DidMouseMoveNear(26);
|
| +
|
| + // test for 10 seconds, stay thick and dark
|
| + for (int i = 0; i < 10; ++i) {
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| + }
|
| +
|
| + // move to the bar.
|
| + scrollbar_controller_->DidMouseMoveNear(0);
|
| +
|
| + // release
|
| + scrollbar_controller_->DidCaptureScrollbarEnd();
|
| +
|
| + // stay thick and dark
|
| + // test for 10 seconds, stay thick and dark
|
| + for (int i = 0; i < 10; ++i) {
|
| + time += base::TimeDelta::FromSeconds(1);
|
| + scrollbar_controller_->Animate(time);
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->Opacity());
|
| + EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->thumb_thickness_scale_factor());
|
| + }
|
| +}
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|