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

Side by Side Diff: cc/trees/layer_tree_host_unittest_animation.cc

Issue 2006103004: Send takeover msg from MT to CC using the animation path. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: jbroman nits Created 4 years, 7 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
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <stdint.h> 7 #include <stdint.h>
8 8
9 #include "cc/animation/animation_curve.h" 9 #include "cc/animation/animation_curve.h"
10 #include "cc/animation/animation_host.h" 10 #include "cc/animation/animation_host.h"
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 772
773 AttachPlayersToTimeline(); 773 AttachPlayersToTimeline();
774 player_child_->AttachElement(scroll_layer_->id()); 774 player_child_->AttachElement(scroll_layer_->id());
775 // Allows NotifyAnimationTakeover to get called. 775 // Allows NotifyAnimationTakeover to get called.
776 player_child_->set_animation_delegate(this); 776 player_child_->set_animation_delegate(this);
777 } 777 }
778 778
779 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 779 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
780 780
781 void DidCommit() override { 781 void DidCommit() override {
782 // Add a main thread scrolling reason after the first commit to trigger
783 // the takeover path.
784 if (layer_tree_host()->source_frame_number() == 1) { 782 if (layer_tree_host()->source_frame_number() == 1) {
785 scroll_layer_->AddMainThreadScrollingReasons( 783 // Add an update after the first commit to trigger the animation takeover
786 MainThreadScrollingReason::kHasNonLayerViewportConstrainedObjects); 784 // path.
785 layer_tree_host()
786 ->animation_host()
787 ->scroll_offset_animations()
788 .AddTakeoverUpdate(scroll_layer_->id());
789 EXPECT_TRUE(layer_tree_host()
790 ->animation_host()
791 ->scroll_offset_animations()
792 .HasUpdatesForTesting());
787 } 793 }
788 } 794 }
789 795
790 void WillCommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { 796 void WillCommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
791 if (host_impl->sync_tree()->source_frame_number() == 0) { 797 if (host_impl->sync_tree()->source_frame_number() == 0) {
792 host_impl->animation_host()->ImplOnlyScrollAnimationCreate( 798 host_impl->animation_host()->ImplOnlyScrollAnimationCreate(
793 scroll_layer_->id(), gfx::ScrollOffset(650.f, 750.f), 799 scroll_layer_->id(), gfx::ScrollOffset(650.f, 750.f),
794 gfx::ScrollOffset(10, 20)); 800 gfx::ScrollOffset(10, 20));
795 } 801 }
796 } 802 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 AttachPlayersToTimeline(); 836 AttachPlayersToTimeline();
831 player_child_->AttachElement(scroll_layer_->id()); 837 player_child_->AttachElement(scroll_layer_->id());
832 } 838 }
833 839
834 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 840 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
835 841
836 void DidCommit() override { 842 void DidCommit() override {
837 if (layer_tree_host()->source_frame_number() == 1) { 843 if (layer_tree_host()->source_frame_number() == 1) {
838 // Add an update after the first commit to trigger the animation update 844 // Add an update after the first commit to trigger the animation update
839 // path. 845 // path.
840 ScrollOffsetAnimationUpdate update( 846 layer_tree_host()
841 ScrollOffsetAnimationUpdate::Type::SCROLL_OFFSET_CHANGED, 847 ->animation_host()
842 scroll_layer_->id()); 848 ->scroll_offset_animations()
843 update.adjustment_ = gfx::Vector2dF(100.f, 100.f); 849 .AddAdjustmentUpdate(scroll_layer_->id(),
844 layer_tree_host()->animation_host()->scroll_offset_animations().AddUpdate( 850 gfx::Vector2dF(100.f, 100.f));
845 update);
846 EXPECT_TRUE(layer_tree_host() 851 EXPECT_TRUE(layer_tree_host()
847 ->animation_host() 852 ->animation_host()
848 ->scroll_offset_animations() 853 ->scroll_offset_animations()
849 .HasUpdatesForTesting()); 854 .HasUpdatesForTesting());
850 } else if (layer_tree_host()->source_frame_number() == 2) { 855 } else if (layer_tree_host()->source_frame_number() == 2) {
851 // Verify that the update queue is cleared after the update is applied. 856 // Verify that the update queue is cleared after the update is applied.
852 EXPECT_FALSE(layer_tree_host() 857 EXPECT_FALSE(layer_tree_host()
853 ->animation_host() 858 ->animation_host()
854 ->scroll_offset_animations() 859 ->scroll_offset_animations()
855 .HasUpdatesForTesting()); 860 .HasUpdatesForTesting());
(...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after
1763 private: 1768 private:
1764 scoped_refptr<Layer> layer_; 1769 scoped_refptr<Layer> layer_;
1765 FakeContentLayerClient client_; 1770 FakeContentLayerClient client_;
1766 }; 1771 };
1767 1772
1768 MULTI_THREAD_TEST_F( 1773 MULTI_THREAD_TEST_F(
1769 LayerTreeHostAnimationTestRebuildPropertyTreesOnAnimationSetNeedsCommit); 1774 LayerTreeHostAnimationTestRebuildPropertyTreesOnAnimationSetNeedsCommit);
1770 1775
1771 } // namespace 1776 } // namespace
1772 } // namespace cc 1777 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | cc/trees/layer_tree_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698