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/test/layer_tree_test.h" | 5 #include "cc/test/layer_tree_test.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/location.h" | 8 #include "base/location.h" |
9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
10 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
11 #include "cc/animation/animation.h" | 11 #include "cc/animation/animation.h" |
| 12 #include "cc/animation/animation_host.h" |
12 #include "cc/animation/animation_registrar.h" | 13 #include "cc/animation/animation_registrar.h" |
13 #include "cc/animation/layer_animation_controller.h" | 14 #include "cc/animation/layer_animation_controller.h" |
14 #include "cc/animation/timing_function.h" | 15 #include "cc/animation/timing_function.h" |
15 #include "cc/base/switches.h" | 16 #include "cc/base/switches.h" |
16 #include "cc/input/input_handler.h" | 17 #include "cc/input/input_handler.h" |
17 #include "cc/layers/layer.h" | 18 #include "cc/layers/layer.h" |
18 #include "cc/layers/layer_impl.h" | 19 #include "cc/layers/layer_impl.h" |
19 #include "cc/test/animation_test_common.h" | 20 #include "cc/test/animation_test_common.h" |
20 #include "cc/test/begin_frame_args_test.h" | 21 #include "cc/test/begin_frame_args_test.h" |
21 #include "cc/test/fake_external_begin_frame_source.h" | 22 #include "cc/test/fake_external_begin_frame_source.h" |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 | 352 |
352 void AnimateLayers(base::TimeTicks monotonic_time) override { | 353 void AnimateLayers(base::TimeTicks monotonic_time) override { |
353 test_hooks_->WillAnimateLayers(this, monotonic_time); | 354 test_hooks_->WillAnimateLayers(this, monotonic_time); |
354 LayerTreeHostImpl::AnimateLayers(monotonic_time); | 355 LayerTreeHostImpl::AnimateLayers(monotonic_time); |
355 test_hooks_->AnimateLayers(this, monotonic_time); | 356 test_hooks_->AnimateLayers(this, monotonic_time); |
356 } | 357 } |
357 | 358 |
358 void UpdateAnimationState(bool start_ready_animations) override { | 359 void UpdateAnimationState(bool start_ready_animations) override { |
359 LayerTreeHostImpl::UpdateAnimationState(start_ready_animations); | 360 LayerTreeHostImpl::UpdateAnimationState(start_ready_animations); |
360 bool has_unfinished_animation = false; | 361 bool has_unfinished_animation = false; |
| 362 AnimationRegistrar* registrar = |
| 363 animation_registrar() ? animation_registrar() |
| 364 : animation_host()->animation_registrar(); |
361 for (const auto& it : | 365 for (const auto& it : |
362 animation_registrar()->active_animation_controllers_for_testing()) { | 366 registrar->active_animation_controllers_for_testing()) { |
363 if (it.second->HasActiveAnimation()) { | 367 if (it.second->HasActiveAnimation()) { |
364 has_unfinished_animation = true; | 368 has_unfinished_animation = true; |
365 break; | 369 break; |
366 } | 370 } |
367 } | 371 } |
368 test_hooks_->UpdateAnimationState(this, has_unfinished_animation); | 372 test_hooks_->UpdateAnimationState(this, has_unfinished_animation); |
369 } | 373 } |
370 | 374 |
371 void NotifyTileStateChanged(const Tile* tile) override { | 375 void NotifyTileStateChanged(const Tile* tile) override { |
372 LayerTreeHostImpl::NotifyTileStateChanged(tile); | 376 LayerTreeHostImpl::NotifyTileStateChanged(tile); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 void LayerTreeTest::PostAddLongAnimationToMainThread( | 593 void LayerTreeTest::PostAddLongAnimationToMainThread( |
590 Layer* layer_to_receive_animation) { | 594 Layer* layer_to_receive_animation) { |
591 main_task_runner_->PostTask( | 595 main_task_runner_->PostTask( |
592 FROM_HERE, | 596 FROM_HERE, |
593 base::Bind(&LayerTreeTest::DispatchAddAnimation, | 597 base::Bind(&LayerTreeTest::DispatchAddAnimation, |
594 main_thread_weak_ptr_, | 598 main_thread_weak_ptr_, |
595 base::Unretained(layer_to_receive_animation), | 599 base::Unretained(layer_to_receive_animation), |
596 1.0)); | 600 1.0)); |
597 } | 601 } |
598 | 602 |
| 603 void LayerTreeTest::PostAddAnimationToMainThreadPlayer( |
| 604 AnimationPlayer* player_to_receive_animation) { |
| 605 main_task_runner_->PostTask( |
| 606 FROM_HERE, |
| 607 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, |
| 608 main_thread_weak_ptr_, |
| 609 base::Unretained(player_to_receive_animation), 0.000004)); |
| 610 } |
| 611 |
| 612 void LayerTreeTest::PostAddInstantAnimationToMainThreadPlayer( |
| 613 AnimationPlayer* player_to_receive_animation) { |
| 614 main_task_runner_->PostTask( |
| 615 FROM_HERE, |
| 616 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, |
| 617 main_thread_weak_ptr_, |
| 618 base::Unretained(player_to_receive_animation), 0.0)); |
| 619 } |
| 620 |
| 621 void LayerTreeTest::PostAddLongAnimationToMainThreadPlayer( |
| 622 AnimationPlayer* player_to_receive_animation) { |
| 623 main_task_runner_->PostTask( |
| 624 FROM_HERE, |
| 625 base::Bind(&LayerTreeTest::DispatchAddAnimationToPlayer, |
| 626 main_thread_weak_ptr_, |
| 627 base::Unretained(player_to_receive_animation), 1.0)); |
| 628 } |
| 629 |
599 void LayerTreeTest::PostSetDeferCommitsToMainThread(bool defer_commits) { | 630 void LayerTreeTest::PostSetDeferCommitsToMainThread(bool defer_commits) { |
600 main_task_runner_->PostTask( | 631 main_task_runner_->PostTask( |
601 FROM_HERE, | 632 FROM_HERE, |
602 base::Bind(&LayerTreeTest::DispatchSetDeferCommits, | 633 base::Bind(&LayerTreeTest::DispatchSetDeferCommits, |
603 main_thread_weak_ptr_, defer_commits)); | 634 main_thread_weak_ptr_, defer_commits)); |
604 } | 635 } |
605 | 636 |
606 void LayerTreeTest::PostSetNeedsCommitToMainThread() { | 637 void LayerTreeTest::PostSetNeedsCommitToMainThread() { |
607 main_task_runner_->PostTask(FROM_HERE, | 638 main_task_runner_->PostTask(FROM_HERE, |
608 base::Bind(&LayerTreeTest::DispatchSetNeedsCommit, | 639 base::Bind(&LayerTreeTest::DispatchSetNeedsCommit, |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 void LayerTreeTest::DispatchAddAnimation(Layer* layer_to_receive_animation, | 758 void LayerTreeTest::DispatchAddAnimation(Layer* layer_to_receive_animation, |
728 double animation_duration) { | 759 double animation_duration) { |
729 DCHECK(!proxy() || proxy()->IsMainThread()); | 760 DCHECK(!proxy() || proxy()->IsMainThread()); |
730 | 761 |
731 if (layer_to_receive_animation) { | 762 if (layer_to_receive_animation) { |
732 AddOpacityTransitionToLayer( | 763 AddOpacityTransitionToLayer( |
733 layer_to_receive_animation, animation_duration, 0, 0.5, true); | 764 layer_to_receive_animation, animation_duration, 0, 0.5, true); |
734 } | 765 } |
735 } | 766 } |
736 | 767 |
| 768 void LayerTreeTest::DispatchAddAnimationToPlayer( |
| 769 AnimationPlayer* player_to_receive_animation, |
| 770 double animation_duration) { |
| 771 DCHECK(!proxy() || proxy()->IsMainThread()); |
| 772 |
| 773 if (player_to_receive_animation) { |
| 774 AddOpacityTransitionToPlayer(player_to_receive_animation, |
| 775 animation_duration, 0, 0.5, true); |
| 776 } |
| 777 } |
| 778 |
737 void LayerTreeTest::DispatchSetDeferCommits(bool defer_commits) { | 779 void LayerTreeTest::DispatchSetDeferCommits(bool defer_commits) { |
738 DCHECK(!proxy() || proxy()->IsMainThread()); | 780 DCHECK(!proxy() || proxy()->IsMainThread()); |
739 | 781 |
740 if (layer_tree_host_) | 782 if (layer_tree_host_) |
741 layer_tree_host_->SetDeferCommits(defer_commits); | 783 layer_tree_host_->SetDeferCommits(defer_commits); |
742 } | 784 } |
743 | 785 |
744 void LayerTreeTest::DispatchSetNeedsCommit() { | 786 void LayerTreeTest::DispatchSetNeedsCommit() { |
745 DCHECK(!proxy() || proxy()->IsMainThread()); | 787 DCHECK(!proxy() || proxy()->IsMainThread()); |
746 | 788 |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
884 LayerTreeHost* LayerTreeTest::layer_tree_host() { | 926 LayerTreeHost* LayerTreeTest::layer_tree_host() { |
885 // We check for a null proxy here as we sometimes ask for the layer tree host | 927 // We check for a null proxy here as we sometimes ask for the layer tree host |
886 // when the proxy does not exist, often for checking settings after a test has | 928 // when the proxy does not exist, often for checking settings after a test has |
887 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See | 929 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See |
888 // elsewhere in this file for other examples. | 930 // elsewhere in this file for other examples. |
889 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked()); | 931 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked()); |
890 return layer_tree_host_.get(); | 932 return layer_tree_host_.get(); |
891 } | 933 } |
892 | 934 |
893 } // namespace cc | 935 } // namespace cc |
OLD | NEW |