| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/animation/scrollbar_animation_controller_linear_fade.h" | 5 #include "cc/animation/scrollbar_animation_controller_linear_fade.h" |
| 6 | 6 |
| 7 #include "cc/layers/solid_color_scrollbar_layer_impl.h" | 7 #include "cc/layers/solid_color_scrollbar_layer_impl.h" |
| 8 #include "cc/test/fake_impl_proxy.h" | 8 #include "cc/test/fake_impl_proxy.h" |
| 9 #include "cc/test/fake_layer_tree_host_impl.h" | 9 #include "cc/test/fake_layer_tree_host_impl.h" |
| 10 #include "cc/test/geometry_test_utils.h" | 10 #include "cc/test/geometry_test_utils.h" |
| 11 #include "cc/test/test_shared_bitmap_manager.h" | 11 #include "cc/test/test_shared_bitmap_manager.h" |
| 12 #include "cc/trees/layer_tree_impl.h" | 12 #include "cc/trees/layer_tree_impl.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 14 | 14 |
| 15 namespace cc { | 15 namespace cc { |
| 16 namespace { | 16 namespace { |
| 17 | 17 |
| 18 class ScrollbarAnimationControllerLinearFadeTest | 18 class ScrollbarAnimationControllerLinearFadeTest |
| 19 : public testing::Test, | 19 : public testing::Test, |
| 20 public ScrollbarAnimationControllerClient { | 20 public ScrollbarAnimationControllerClient { |
| 21 public: | 21 public: |
| 22 ScrollbarAnimationControllerLinearFadeTest() | 22 ScrollbarAnimationControllerLinearFadeTest() |
| 23 : host_impl_(&proxy_, &shared_bitmap_manager_), needs_frame_count_(0) {} | 23 : host_impl_(&proxy_, &shared_bitmap_manager_), needs_frame_count_(0) {} |
| 24 | 24 |
| 25 virtual void PostDelayedScrollbarFade(const base::Closure& start_fade, | 25 void PostDelayedScrollbarFade(const base::Closure& start_fade, |
| 26 base::TimeDelta delay) override { | 26 base::TimeDelta delay) override { |
| 27 start_fade_ = start_fade; | 27 start_fade_ = start_fade; |
| 28 delay_ = delay; | 28 delay_ = delay; |
| 29 } | 29 } |
| 30 virtual void SetNeedsScrollbarAnimationFrame() override { | 30 void SetNeedsScrollbarAnimationFrame() override { needs_frame_count_++; } |
| 31 needs_frame_count_++; | |
| 32 } | |
| 33 | 31 |
| 34 protected: | 32 protected: |
| 35 virtual void SetUp() { | 33 virtual void SetUp() { |
| 36 const int kThumbThickness = 10; | 34 const int kThumbThickness = 10; |
| 37 const int kTrackStart = 0; | 35 const int kTrackStart = 0; |
| 38 const bool kIsLeftSideVerticalScrollbar = false; | 36 const bool kIsLeftSideVerticalScrollbar = false; |
| 39 const bool kIsOverlayScrollbar = true; // Allow opacity animations. | 37 const bool kIsOverlayScrollbar = true; // Allow opacity animations. |
| 40 | 38 |
| 41 scoped_ptr<LayerImpl> scroll_layer = | 39 scoped_ptr<LayerImpl> scroll_layer = |
| 42 LayerImpl::Create(host_impl_.active_tree(), 1); | 40 LayerImpl::Create(host_impl_.active_tree(), 1); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 scoped_ptr<SolidColorScrollbarLayerImpl> scrollbar_layer_; | 74 scoped_ptr<SolidColorScrollbarLayerImpl> scrollbar_layer_; |
| 77 | 75 |
| 78 base::Closure start_fade_; | 76 base::Closure start_fade_; |
| 79 base::TimeDelta delay_; | 77 base::TimeDelta delay_; |
| 80 int needs_frame_count_; | 78 int needs_frame_count_; |
| 81 }; | 79 }; |
| 82 | 80 |
| 83 class VerticalScrollbarAnimationControllerLinearFadeTest | 81 class VerticalScrollbarAnimationControllerLinearFadeTest |
| 84 : public ScrollbarAnimationControllerLinearFadeTest { | 82 : public ScrollbarAnimationControllerLinearFadeTest { |
| 85 protected: | 83 protected: |
| 86 virtual ScrollbarOrientation orientation() const override { return VERTICAL; } | 84 ScrollbarOrientation orientation() const override { return VERTICAL; } |
| 87 }; | 85 }; |
| 88 | 86 |
| 89 TEST_F(ScrollbarAnimationControllerLinearFadeTest, DelayAnimationOnResize) { | 87 TEST_F(ScrollbarAnimationControllerLinearFadeTest, DelayAnimationOnResize) { |
| 90 scrollbar_layer_->SetOpacity(0.0f); | 88 scrollbar_layer_->SetOpacity(0.0f); |
| 91 scrollbar_controller_->DidScrollBegin(); | 89 scrollbar_controller_->DidScrollBegin(); |
| 92 scrollbar_controller_->DidScrollUpdate(true); | 90 scrollbar_controller_->DidScrollUpdate(true); |
| 93 scrollbar_controller_->DidScrollEnd(); | 91 scrollbar_controller_->DidScrollEnd(); |
| 94 // Normal Animation delay of 2 seconds. | 92 // Normal Animation delay of 2 seconds. |
| 95 EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->opacity()); | 93 EXPECT_FLOAT_EQ(1.0f, scrollbar_layer_->opacity()); |
| 96 EXPECT_EQ(delay_, base::TimeDelta::FromSeconds(2)); | 94 EXPECT_EQ(delay_, base::TimeDelta::FromSeconds(2)); |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 412 scrollbar_controller_->DidScrollUpdate(false); | 410 scrollbar_controller_->DidScrollUpdate(false); |
| 413 EXPECT_FLOAT_EQ(1, scrollbar_layer_->opacity()); | 411 EXPECT_FLOAT_EQ(1, scrollbar_layer_->opacity()); |
| 414 | 412 |
| 415 time += base::TimeDelta::FromSeconds(1); | 413 time += base::TimeDelta::FromSeconds(1); |
| 416 scrollbar_controller_->DidScrollEnd(); | 414 scrollbar_controller_->DidScrollEnd(); |
| 417 EXPECT_FLOAT_EQ(1, scrollbar_layer_->opacity()); | 415 EXPECT_FLOAT_EQ(1, scrollbar_layer_->opacity()); |
| 418 } | 416 } |
| 419 | 417 |
| 420 } // namespace | 418 } // namespace |
| 421 } // namespace cc | 419 } // namespace cc |
| OLD | NEW |