OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 #include "cc/test/test_shared_bitmap_manager.h" | 58 #include "cc/test/test_shared_bitmap_manager.h" |
59 #include "cc/test/test_task_graph_runner.h" | 59 #include "cc/test/test_task_graph_runner.h" |
60 #include "cc/test/test_web_graphics_context_3d.h" | 60 #include "cc/test/test_web_graphics_context_3d.h" |
61 #include "cc/tiles/layer_tiling_data.h" | 61 #include "cc/tiles/layer_tiling_data.h" |
62 #include "cc/trees/layer_tree_impl.h" | 62 #include "cc/trees/layer_tree_impl.h" |
63 #include "cc/trees/single_thread_proxy.h" | 63 #include "cc/trees/single_thread_proxy.h" |
64 #include "media/base/media.h" | 64 #include "media/base/media.h" |
65 #include "testing/gmock/include/gmock/gmock.h" | 65 #include "testing/gmock/include/gmock/gmock.h" |
66 #include "testing/gtest/include/gtest/gtest.h" | 66 #include "testing/gtest/include/gtest/gtest.h" |
67 #include "third_party/skia/include/core/SkMallocPixelRef.h" | 67 #include "third_party/skia/include/core/SkMallocPixelRef.h" |
68 #include "ui/gfx/frame_time.h" | |
69 #include "ui/gfx/geometry/rect_conversions.h" | 68 #include "ui/gfx/geometry/rect_conversions.h" |
70 #include "ui/gfx/geometry/size_conversions.h" | 69 #include "ui/gfx/geometry/size_conversions.h" |
71 #include "ui/gfx/geometry/vector2d_conversions.h" | 70 #include "ui/gfx/geometry/vector2d_conversions.h" |
72 | 71 |
73 using ::testing::Mock; | 72 using ::testing::Mock; |
74 using ::testing::Return; | 73 using ::testing::Return; |
75 using ::testing::AnyNumber; | 74 using ::testing::AnyNumber; |
76 using ::testing::AtLeast; | 75 using ::testing::AtLeast; |
77 using ::testing::_; | 76 using ::testing::_; |
78 using media::VideoFrame; | 77 using media::VideoFrame; |
(...skipping 1632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1711 } | 1710 } |
1712 | 1711 |
1713 void RunTest(LayerTreeSettings::ScrollbarAnimator animator) { | 1712 void RunTest(LayerTreeSettings::ScrollbarAnimator animator) { |
1714 LayerTreeSettings settings; | 1713 LayerTreeSettings settings; |
1715 settings.scrollbar_animator = animator; | 1714 settings.scrollbar_animator = animator; |
1716 settings.scrollbar_fade_delay_ms = 20; | 1715 settings.scrollbar_fade_delay_ms = 20; |
1717 settings.scrollbar_fade_duration_ms = 20; | 1716 settings.scrollbar_fade_duration_ms = 20; |
1718 | 1717 |
1719 SetupLayers(settings); | 1718 SetupLayers(settings); |
1720 | 1719 |
1721 base::TimeTicks fake_now = gfx::FrameTime::Now(); | 1720 base::TimeTicks fake_now = base::TimeTicks::Now(); |
1722 | 1721 |
1723 EXPECT_FALSE(did_request_animate_); | 1722 EXPECT_FALSE(did_request_animate_); |
1724 EXPECT_FALSE(did_request_redraw_); | 1723 EXPECT_FALSE(did_request_redraw_); |
1725 EXPECT_EQ(base::TimeDelta(), requested_animation_delay_); | 1724 EXPECT_EQ(base::TimeDelta(), requested_animation_delay_); |
1726 EXPECT_TRUE(animation_task_.Equals(base::Closure())); | 1725 EXPECT_TRUE(animation_task_.Equals(base::Closure())); |
1727 | 1726 |
1728 // If no scroll happened during a scroll gesture, it should have no effect. | 1727 // If no scroll happened during a scroll gesture, it should have no effect. |
1729 host_impl_->ScrollBegin(gfx::Point(), InputHandler::WHEEL); | 1728 host_impl_->ScrollBegin(gfx::Point(), InputHandler::WHEEL); |
1730 host_impl_->ScrollEnd(); | 1729 host_impl_->ScrollEnd(); |
1731 EXPECT_FALSE(did_request_animate_); | 1730 EXPECT_FALSE(did_request_animate_); |
(...skipping 5166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6898 | 6897 |
6899 // End the scroll while the controls are still offset from their limit. | 6898 // End the scroll while the controls are still offset from their limit. |
6900 host_impl_->ScrollEnd(); | 6899 host_impl_->ScrollEnd(); |
6901 ASSERT_TRUE(host_impl_->top_controls_manager()->animation()); | 6900 ASSERT_TRUE(host_impl_->top_controls_manager()->animation()); |
6902 EXPECT_TRUE(did_request_animate_); | 6901 EXPECT_TRUE(did_request_animate_); |
6903 EXPECT_TRUE(did_request_redraw_); | 6902 EXPECT_TRUE(did_request_redraw_); |
6904 EXPECT_FALSE(did_request_commit_); | 6903 EXPECT_FALSE(did_request_commit_); |
6905 | 6904 |
6906 // The top controls should properly animate until finished, despite the scroll | 6905 // The top controls should properly animate until finished, despite the scroll |
6907 // offset being at the origin. | 6906 // offset being at the origin. |
6908 base::TimeTicks animation_time = gfx::FrameTime::Now(); | 6907 base::TimeTicks animation_time = base::TimeTicks::Now(); |
6909 while (did_request_animate_) { | 6908 while (did_request_animate_) { |
6910 did_request_redraw_ = false; | 6909 did_request_redraw_ = false; |
6911 did_request_animate_ = false; | 6910 did_request_animate_ = false; |
6912 did_request_commit_ = false; | 6911 did_request_commit_ = false; |
6913 | 6912 |
6914 float old_offset = | 6913 float old_offset = |
6915 host_impl_->top_controls_manager()->ControlsTopOffset(); | 6914 host_impl_->top_controls_manager()->ControlsTopOffset(); |
6916 | 6915 |
6917 animation_time += base::TimeDelta::FromMilliseconds(5); | 6916 animation_time += base::TimeDelta::FromMilliseconds(5); |
6918 host_impl_->Animate(animation_time); | 6917 host_impl_->Animate(animation_time); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6968 did_request_commit_ = false; | 6967 did_request_commit_ = false; |
6969 | 6968 |
6970 // End the scroll while the controls are still offset from the limit. | 6969 // End the scroll while the controls are still offset from the limit. |
6971 host_impl_->ScrollEnd(); | 6970 host_impl_->ScrollEnd(); |
6972 ASSERT_TRUE(host_impl_->top_controls_manager()->animation()); | 6971 ASSERT_TRUE(host_impl_->top_controls_manager()->animation()); |
6973 EXPECT_TRUE(did_request_animate_); | 6972 EXPECT_TRUE(did_request_animate_); |
6974 EXPECT_TRUE(did_request_redraw_); | 6973 EXPECT_TRUE(did_request_redraw_); |
6975 EXPECT_FALSE(did_request_commit_); | 6974 EXPECT_FALSE(did_request_commit_); |
6976 | 6975 |
6977 // Animate the top controls to the limit. | 6976 // Animate the top controls to the limit. |
6978 base::TimeTicks animation_time = gfx::FrameTime::Now(); | 6977 base::TimeTicks animation_time = base::TimeTicks::Now(); |
6979 while (did_request_animate_) { | 6978 while (did_request_animate_) { |
6980 did_request_redraw_ = false; | 6979 did_request_redraw_ = false; |
6981 did_request_animate_ = false; | 6980 did_request_animate_ = false; |
6982 did_request_commit_ = false; | 6981 did_request_commit_ = false; |
6983 | 6982 |
6984 float old_offset = | 6983 float old_offset = |
6985 host_impl_->top_controls_manager()->ControlsTopOffset(); | 6984 host_impl_->top_controls_manager()->ControlsTopOffset(); |
6986 | 6985 |
6987 animation_time += base::TimeDelta::FromMilliseconds(5); | 6986 animation_time += base::TimeDelta::FromMilliseconds(5); |
6988 host_impl_->Animate(animation_time); | 6987 host_impl_->Animate(animation_time); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7032 did_request_commit_ = false; | 7031 did_request_commit_ = false; |
7033 | 7032 |
7034 // End the fling while the controls are still offset from the limit. | 7033 // End the fling while the controls are still offset from the limit. |
7035 host_impl_->MainThreadHasStoppedFlinging(); | 7034 host_impl_->MainThreadHasStoppedFlinging(); |
7036 ASSERT_TRUE(host_impl_->top_controls_manager()->animation()); | 7035 ASSERT_TRUE(host_impl_->top_controls_manager()->animation()); |
7037 EXPECT_TRUE(did_request_animate_); | 7036 EXPECT_TRUE(did_request_animate_); |
7038 EXPECT_TRUE(did_request_redraw_); | 7037 EXPECT_TRUE(did_request_redraw_); |
7039 EXPECT_FALSE(did_request_commit_); | 7038 EXPECT_FALSE(did_request_commit_); |
7040 | 7039 |
7041 // Animate the top controls to the limit. | 7040 // Animate the top controls to the limit. |
7042 base::TimeTicks animation_time = gfx::FrameTime::Now(); | 7041 base::TimeTicks animation_time = base::TimeTicks::Now(); |
7043 while (did_request_animate_) { | 7042 while (did_request_animate_) { |
7044 did_request_redraw_ = false; | 7043 did_request_redraw_ = false; |
7045 did_request_animate_ = false; | 7044 did_request_animate_ = false; |
7046 did_request_commit_ = false; | 7045 did_request_commit_ = false; |
7047 | 7046 |
7048 float old_offset = host_impl_->top_controls_manager()->ControlsTopOffset(); | 7047 float old_offset = host_impl_->top_controls_manager()->ControlsTopOffset(); |
7049 | 7048 |
7050 animation_time += base::TimeDelta::FromMilliseconds(5); | 7049 animation_time += base::TimeDelta::FromMilliseconds(5); |
7051 host_impl_->Animate(animation_time); | 7050 host_impl_->Animate(animation_time); |
7052 | 7051 |
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7873 // Hold an unowned pointer to the output surface to use for mock expectations. | 7872 // Hold an unowned pointer to the output surface to use for mock expectations. |
7874 MockReclaimResourcesOutputSurface* mock_output_surface = output_surface.get(); | 7873 MockReclaimResourcesOutputSurface* mock_output_surface = output_surface.get(); |
7875 | 7874 |
7876 CreateHostImpl(DefaultSettings(), output_surface.Pass()); | 7875 CreateHostImpl(DefaultSettings(), output_surface.Pass()); |
7877 EXPECT_CALL(*mock_output_surface, ForceReclaimResources()).Times(1); | 7876 EXPECT_CALL(*mock_output_surface, ForceReclaimResources()).Times(1); |
7878 host_impl_->BeginCommit(); | 7877 host_impl_->BeginCommit(); |
7879 } | 7878 } |
7880 | 7879 |
7881 } // namespace | 7880 } // namespace |
7882 } // namespace cc | 7881 } // namespace cc |
OLD | NEW |