| 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include "cc/animation/animation_curve.h" | 7 #include "cc/animation/animation_curve.h" |
| 8 #include "cc/animation/layer_animation_controller.h" | 8 #include "cc/animation/layer_animation_controller.h" |
| 9 #include "cc/animation/scroll_offset_animation_curve.h" | 9 #include "cc/animation/scroll_offset_animation_curve.h" |
| 10 #include "cc/animation/timing_function.h" | 10 #include "cc/animation/timing_function.h" |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 int num_draw_layers_; | 822 int num_draw_layers_; |
| 823 FakeContentLayerClient client_; | 823 FakeContentLayerClient client_; |
| 824 scoped_refptr<FakeContentLayer> content_; | 824 scoped_refptr<FakeContentLayer> content_; |
| 825 }; | 825 }; |
| 826 | 826 |
| 827 MULTI_THREAD_TEST_F(LayerTreeHostAnimationTestContinuousAnimate); | 827 MULTI_THREAD_TEST_F(LayerTreeHostAnimationTestContinuousAnimate); |
| 828 | 828 |
| 829 class LayerTreeHostAnimationTestCancelAnimateCommit | 829 class LayerTreeHostAnimationTestCancelAnimateCommit |
| 830 : public LayerTreeHostAnimationTest { | 830 : public LayerTreeHostAnimationTest { |
| 831 public: | 831 public: |
| 832 LayerTreeHostAnimationTestCancelAnimateCommit() : num_animate_calls_(0) {} | 832 LayerTreeHostAnimationTestCancelAnimateCommit() |
| 833 : num_animate_calls_(0), num_commit_calls_(0), num_draw_calls_(0) {} |
| 833 | 834 |
| 834 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); } | 835 virtual void BeginTest() OVERRIDE { PostSetNeedsCommitToMainThread(); } |
| 835 | 836 |
| 836 virtual void Animate(base::TimeTicks) OVERRIDE { | 837 virtual void Animate(base::TimeTicks) OVERRIDE { |
| 838 num_animate_calls_++; |
| 837 // No-op animate will cancel the commit. | 839 // No-op animate will cancel the commit. |
| 838 if (++num_animate_calls_ == 2) { | 840 if (layer_tree_host()->source_frame_number() == 1) { |
| 839 EndTest(); | 841 EndTest(); |
| 840 return; | 842 return; |
| 841 } | 843 } |
| 842 layer_tree_host()->SetNeedsAnimate(); | 844 layer_tree_host()->SetNeedsAnimate(); |
| 843 } | 845 } |
| 844 | 846 |
| 845 virtual void CommitCompleteOnThread(LayerTreeHostImpl* tree_impl) OVERRIDE { | 847 virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE { |
| 846 if (num_animate_calls_ > 1) | 848 num_commit_calls_++; |
| 849 if (impl->active_tree()->source_frame_number() > 1) |
| 847 FAIL() << "Commit should have been canceled."; | 850 FAIL() << "Commit should have been canceled."; |
| 848 } | 851 } |
| 849 | 852 |
| 850 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { | 853 virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE { |
| 851 if (num_animate_calls_ > 1) | 854 num_draw_calls_++; |
| 855 if (impl->active_tree()->source_frame_number() > 1) |
| 852 FAIL() << "Draw should have been canceled."; | 856 FAIL() << "Draw should have been canceled."; |
| 853 } | 857 } |
| 854 | 858 |
| 855 virtual void AfterTest() OVERRIDE { EXPECT_EQ(2, num_animate_calls_); } | 859 virtual void AfterTest() OVERRIDE { |
| 860 EXPECT_EQ(2, num_animate_calls_); |
| 861 EXPECT_EQ(1, num_commit_calls_); |
| 862 EXPECT_EQ(1, num_draw_calls_); |
| 863 } |
| 856 | 864 |
| 857 private: | 865 private: |
| 858 int num_animate_calls_; | 866 int num_animate_calls_; |
| 867 int num_commit_calls_; |
| 868 int num_draw_calls_; |
| 859 FakeContentLayerClient client_; | 869 FakeContentLayerClient client_; |
| 860 scoped_refptr<FakeContentLayer> content_; | 870 scoped_refptr<FakeContentLayer> content_; |
| 861 }; | 871 }; |
| 862 | 872 |
| 863 MULTI_THREAD_TEST_F(LayerTreeHostAnimationTestCancelAnimateCommit); | 873 MULTI_THREAD_TEST_F(LayerTreeHostAnimationTestCancelAnimateCommit); |
| 864 | 874 |
| 865 class LayerTreeHostAnimationTestForceRedraw | 875 class LayerTreeHostAnimationTestForceRedraw |
| 866 : public LayerTreeHostAnimationTest { | 876 : public LayerTreeHostAnimationTest { |
| 867 public: | 877 public: |
| 868 LayerTreeHostAnimationTestForceRedraw() | 878 LayerTreeHostAnimationTestForceRedraw() |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1229 int num_draw_attempts_; | 1239 int num_draw_attempts_; |
| 1230 base::TimeTicks last_main_thread_tick_time_; | 1240 base::TimeTicks last_main_thread_tick_time_; |
| 1231 base::TimeTicks expected_impl_tick_time_; | 1241 base::TimeTicks expected_impl_tick_time_; |
| 1232 }; | 1242 }; |
| 1233 | 1243 |
| 1234 // Only the non-impl-paint multi-threaded compositor freezes animations. | 1244 // Only the non-impl-paint multi-threaded compositor freezes animations. |
| 1235 MULTI_THREAD_NOIMPL_TEST_F(LayerTreeHostAnimationTestFrozenAnimationTickTime); | 1245 MULTI_THREAD_NOIMPL_TEST_F(LayerTreeHostAnimationTestFrozenAnimationTickTime); |
| 1236 | 1246 |
| 1237 } // namespace | 1247 } // namespace |
| 1238 } // namespace cc | 1248 } // namespace cc |
| OLD | NEW |