Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(276)

Side by Side Diff: cc/test/layer_tree_test.cc

Issue 1010663002: CC Animations: Redirect all compositor animation requests to AnimationHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@introduce
Patch Set: Add ported unittests. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/content_layer.h" 18 #include "cc/layers/content_layer.h"
18 #include "cc/layers/layer.h" 19 #include "cc/layers/layer.h"
19 #include "cc/layers/layer_impl.h" 20 #include "cc/layers/layer_impl.h"
20 #include "cc/test/animation_test_common.h" 21 #include "cc/test/animation_test_common.h"
21 #include "cc/test/begin_frame_args_test.h" 22 #include "cc/test/begin_frame_args_test.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 341
341 void AnimateLayers(base::TimeTicks monotonic_time) override { 342 void AnimateLayers(base::TimeTicks monotonic_time) override {
342 test_hooks_->WillAnimateLayers(this, monotonic_time); 343 test_hooks_->WillAnimateLayers(this, monotonic_time);
343 LayerTreeHostImpl::AnimateLayers(monotonic_time); 344 LayerTreeHostImpl::AnimateLayers(monotonic_time);
344 test_hooks_->AnimateLayers(this, monotonic_time); 345 test_hooks_->AnimateLayers(this, monotonic_time);
345 } 346 }
346 347
347 void UpdateAnimationState(bool start_ready_animations) override { 348 void UpdateAnimationState(bool start_ready_animations) override {
348 LayerTreeHostImpl::UpdateAnimationState(start_ready_animations); 349 LayerTreeHostImpl::UpdateAnimationState(start_ready_animations);
349 bool has_unfinished_animation = false; 350 bool has_unfinished_animation = false;
351 AnimationRegistrar* registrar =
352 animation_registrar() ? animation_registrar()
353 : animation_host()->animation_registrar();
350 for (const auto& it : 354 for (const auto& it :
351 animation_registrar()->active_animation_controllers_for_testing()) { 355 registrar->active_animation_controllers_for_testing()) {
352 if (it.second->HasActiveAnimation()) { 356 if (it.second->HasActiveAnimation()) {
353 has_unfinished_animation = true; 357 has_unfinished_animation = true;
354 break; 358 break;
355 } 359 }
356 } 360 }
357 test_hooks_->UpdateAnimationState(this, has_unfinished_animation); 361 test_hooks_->UpdateAnimationState(this, has_unfinished_animation);
358 } 362 }
359 363
360 void NotifyTileStateChanged(const Tile* tile) override { 364 void NotifyTileStateChanged(const Tile* tile) override {
361 LayerTreeHostImpl::NotifyTileStateChanged(tile); 365 LayerTreeHostImpl::NotifyTileStateChanged(tile);
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 void LayerTreeTest::DispatchAddAnimation(Layer* layer_to_receive_animation, 757 void LayerTreeTest::DispatchAddAnimation(Layer* layer_to_receive_animation,
727 double animation_duration) { 758 double animation_duration) {
728 DCHECK(!proxy() || proxy()->IsMainThread()); 759 DCHECK(!proxy() || proxy()->IsMainThread());
729 760
730 if (layer_to_receive_animation) { 761 if (layer_to_receive_animation) {
731 AddOpacityTransitionToLayer( 762 AddOpacityTransitionToLayer(
732 layer_to_receive_animation, animation_duration, 0, 0.5, true); 763 layer_to_receive_animation, animation_duration, 0, 0.5, true);
733 } 764 }
734 } 765 }
735 766
767 void LayerTreeTest::DispatchAddAnimationToPlayer(
768 AnimationPlayer* player_to_receive_animation,
769 double animation_duration) {
770 DCHECK(!proxy() || proxy()->IsMainThread());
771
772 if (player_to_receive_animation) {
773 AddOpacityTransitionToPlayer(player_to_receive_animation,
774 animation_duration, 0, 0.5, true);
775 }
776 }
777
736 void LayerTreeTest::DispatchSetDeferCommits(bool defer_commits) { 778 void LayerTreeTest::DispatchSetDeferCommits(bool defer_commits) {
737 DCHECK(!proxy() || proxy()->IsMainThread()); 779 DCHECK(!proxy() || proxy()->IsMainThread());
738 780
739 if (layer_tree_host_) 781 if (layer_tree_host_)
740 layer_tree_host_->SetDeferCommits(defer_commits); 782 layer_tree_host_->SetDeferCommits(defer_commits);
741 } 783 }
742 784
743 void LayerTreeTest::DispatchSetNeedsCommit() { 785 void LayerTreeTest::DispatchSetNeedsCommit() {
744 DCHECK(!proxy() || proxy()->IsMainThread()); 786 DCHECK(!proxy() || proxy()->IsMainThread());
745 787
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 LayerTreeHost* LayerTreeTest::layer_tree_host() { 931 LayerTreeHost* LayerTreeTest::layer_tree_host() {
890 // We check for a null proxy here as we sometimes ask for the layer tree host 932 // We check for a null proxy here as we sometimes ask for the layer tree host
891 // when the proxy does not exist, often for checking settings after a test has 933 // when the proxy does not exist, often for checking settings after a test has
892 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See 934 // completed. For example, LTHPixelResourceTest::RunPixelResourceTest. See
893 // elsewhere in this file for other examples. 935 // elsewhere in this file for other examples.
894 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked()); 936 DCHECK(!proxy() || proxy()->IsMainThread() || proxy()->IsMainThreadBlocked());
895 return layer_tree_host_.get(); 937 return layer_tree_host_.get();
896 } 938 }
897 939
898 } // namespace cc 940 } // namespace cc
OLDNEW
« cc/layers/layer.cc ('K') | « cc/test/layer_tree_test.h ('k') | cc/trees/layer_tree_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698