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

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

Issue 2080223010: cc: Clean up root_layer code in LTI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase++ Created 4 years, 5 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_unittest.cc ('k') | cc/trees/layer_tree_host_unittest_context.cc » ('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 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 } 274 }
275 275
276 void BeginTest() override { 276 void BeginTest() override {
277 PostAddAnimationToMainThreadPlayer(player_child_.get()); 277 PostAddAnimationToMainThreadPlayer(player_child_.get());
278 } 278 }
279 279
280 void AnimateLayers(LayerTreeHostImpl* host_impl, 280 void AnimateLayers(LayerTreeHostImpl* host_impl,
281 base::TimeTicks monotonic_time) override { 281 base::TimeTicks monotonic_time) override {
282 // TODO(ajuma): This test only checks the active tree. Add checks for 282 // TODO(ajuma): This test only checks the active tree. Add checks for
283 // pending tree too. 283 // pending tree too.
284 if (!host_impl->active_tree()->root_layer()) 284 if (!host_impl->active_tree()->root_layer_for_testing())
285 return; 285 return;
286 286
287 // Wait for the commit with the animation to happen. 287 // Wait for the commit with the animation to happen.
288 if (host_impl->sync_tree()->source_frame_number() != 0) 288 if (host_impl->sync_tree()->source_frame_number() != 0)
289 return; 289 return;
290 290
291 scoped_refptr<AnimationTimeline> timeline_impl = 291 scoped_refptr<AnimationTimeline> timeline_impl =
292 host_impl->animation_host()->GetTimelineById(timeline_id_); 292 host_impl->animation_host()->GetTimelineById(timeline_id_);
293 scoped_refptr<AnimationPlayer> player_child_impl = 293 scoped_refptr<AnimationPlayer> player_child_impl =
294 timeline_impl->GetPlayerById(player_child_id_); 294 timeline_impl->GetPlayerById(player_child_id_);
(...skipping 708 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 1003
1004 void AfterTest() override { 1004 void AfterTest() override {
1005 EXPECT_EQ(final_postion_, scroll_layer_->scroll_offset()); 1005 EXPECT_EQ(final_postion_, scroll_layer_->scroll_offset());
1006 } 1006 }
1007 1007
1008 private: 1008 private:
1009 bool ShouldBlockActivation(LayerTreeHostImpl* host_impl) { 1009 bool ShouldBlockActivation(LayerTreeHostImpl* host_impl) {
1010 if (!host_impl->pending_tree()) 1010 if (!host_impl->pending_tree())
1011 return false; 1011 return false;
1012 1012
1013 if (!host_impl->active_tree()->root_layer()) 1013 if (!host_impl->active_tree()->root_layer_for_testing())
1014 return false; 1014 return false;
1015 1015
1016 scoped_refptr<AnimationTimeline> timeline_impl = 1016 scoped_refptr<AnimationTimeline> timeline_impl =
1017 host_impl->animation_host()->GetTimelineById(timeline_id_); 1017 host_impl->animation_host()->GetTimelineById(timeline_id_);
1018 scoped_refptr<AnimationPlayer> player_impl = 1018 scoped_refptr<AnimationPlayer> player_impl =
1019 timeline_impl->GetPlayerById(player_child_id_); 1019 timeline_impl->GetPlayerById(player_child_id_);
1020 1020
1021 LayerImpl* scroll_layer_impl = 1021 LayerImpl* scroll_layer_impl =
1022 host_impl->active_tree()->LayerById(scroll_layer_->id()); 1022 host_impl->active_tree()->LayerById(scroll_layer_->id());
1023 Animation* animation = player_impl->element_animations()->GetAnimation( 1023 Animation* animation = player_impl->element_animations()->GetAnimation(
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
1332 void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override { 1332 void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) override {
1333 // After both animations have started, verify that they have valid 1333 // After both animations have started, verify that they have valid
1334 // start times. 1334 // start times.
1335 if (host_impl->active_tree()->source_frame_number() < 2) 1335 if (host_impl->active_tree()->source_frame_number() < 2)
1336 return; 1336 return;
1337 AnimationHost::ElementToAnimationsMap element_animations_copy = 1337 AnimationHost::ElementToAnimationsMap element_animations_copy =
1338 host_impl->animation_host()->active_element_animations_for_testing(); 1338 host_impl->animation_host()->active_element_animations_for_testing();
1339 EXPECT_EQ(2u, element_animations_copy.size()); 1339 EXPECT_EQ(2u, element_animations_copy.size());
1340 for (auto& it : element_animations_copy) { 1340 for (auto& it : element_animations_copy) {
1341 int id = it.first; 1341 int id = it.first;
1342 if (id == host_impl->active_tree()->root_layer()->id()) { 1342 if (id == host_impl->active_tree()->root_layer_for_testing()->id()) {
1343 Animation* anim = it.second->GetAnimation(TargetProperty::TRANSFORM); 1343 Animation* anim = it.second->GetAnimation(TargetProperty::TRANSFORM);
1344 EXPECT_GT((anim->start_time() - base::TimeTicks()).InSecondsF(), 0); 1344 EXPECT_GT((anim->start_time() - base::TimeTicks()).InSecondsF(), 0);
1345 } else if (id == layer_->id()) { 1345 } else if (id == layer_->id()) {
1346 Animation* anim = it.second->GetAnimation(TargetProperty::OPACITY); 1346 Animation* anim = it.second->GetAnimation(TargetProperty::OPACITY);
1347 EXPECT_GT((anim->start_time() - base::TimeTicks()).InSecondsF(), 0); 1347 EXPECT_GT((anim->start_time() - base::TimeTicks()).InSecondsF(), 0);
1348 } 1348 }
1349 EndTest(); 1349 EndTest();
1350 } 1350 }
1351 } 1351 }
1352 1352
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
1660 start.AppendTranslate(5.f, 5.f, 0.f); 1660 start.AppendTranslate(5.f, 5.f, 0.f);
1661 TransformOperations end; 1661 TransformOperations end;
1662 end.AppendTranslate(5.f, 5.f, 0.f); 1662 end.AppendTranslate(5.f, 5.f, 0.f);
1663 AddAnimatedTransformToPlayer(player_.get(), 1.0, start, end); 1663 AddAnimatedTransformToPlayer(player_.get(), 1.0, start, end);
1664 } 1664 }
1665 1665
1666 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 1666 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
1667 1667
1668 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { 1668 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
1669 PropertyTrees* property_trees = host_impl->sync_tree()->property_trees(); 1669 PropertyTrees* property_trees = host_impl->sync_tree()->property_trees();
1670 TransformNode* node = property_trees->transform_tree.Node( 1670 TransformNode* node =
1671 host_impl->sync_tree()->root_layer()->transform_tree_index()); 1671 property_trees->transform_tree.Node(host_impl->sync_tree()
1672 ->root_layer_for_testing()
1673 ->transform_tree_index());
1672 gfx::Transform translate; 1674 gfx::Transform translate;
1673 translate.Translate(5, 5); 1675 translate.Translate(5, 5);
1674 switch (host_impl->sync_tree()->source_frame_number()) { 1676 switch (host_impl->sync_tree()->source_frame_number()) {
1675 case 2: 1677 case 2:
1676 EXPECT_EQ(node->data.local, translate); 1678 EXPECT_EQ(node->data.local, translate);
1677 EndTest(); 1679 EndTest();
1678 break; 1680 break;
1679 default: 1681 default:
1680 break; 1682 break;
1681 } 1683 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1717 AttachPlayersToTimeline(); 1719 AttachPlayersToTimeline();
1718 player_->AttachElement(layer_tree_host()->root_layer()->id()); 1720 player_->AttachElement(layer_tree_host()->root_layer()->id());
1719 AddAnimatedTransformToPlayer(player_.get(), 1.0, 5, 5); 1721 AddAnimatedTransformToPlayer(player_.get(), 1.0, 5, 5);
1720 } 1722 }
1721 1723
1722 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 1724 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
1723 1725
1724 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { 1726 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override {
1725 if (host_impl->pending_tree()->source_frame_number() <= 1) { 1727 if (host_impl->pending_tree()->source_frame_number() <= 1) {
1726 EXPECT_TRUE(host_impl->pending_tree() 1728 EXPECT_TRUE(host_impl->pending_tree()
1727 ->root_layer() 1729 ->root_layer_for_testing()
1728 ->screen_space_transform_is_animating()); 1730 ->screen_space_transform_is_animating());
1729 } else { 1731 } else {
1730 EXPECT_FALSE(host_impl->pending_tree() 1732 EXPECT_FALSE(host_impl->pending_tree()
1731 ->root_layer() 1733 ->root_layer_for_testing()
1732 ->screen_space_transform_is_animating()); 1734 ->screen_space_transform_is_animating());
1733 } 1735 }
1734 } 1736 }
1735 1737
1736 void DidCommit() override { PostSetNeedsCommitToMainThread(); } 1738 void DidCommit() override { PostSetNeedsCommitToMainThread(); }
1737 1739
1738 void UpdateLayerTreeHost() override { 1740 void UpdateLayerTreeHost() override {
1739 if (layer_tree_host()->source_frame_number() == 2) { 1741 if (layer_tree_host()->source_frame_number() == 2) {
1740 // Destroy player. 1742 // Destroy player.
1741 timeline_->DetachPlayer(player_.get()); 1743 timeline_->DetachPlayer(player_.get());
1742 player_ = nullptr; 1744 player_ = nullptr;
1743 } 1745 }
1744 } 1746 }
1745 1747
1746 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 1748 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
1747 LayerTreeHostImpl::FrameData* frame_data, 1749 LayerTreeHostImpl::FrameData* frame_data,
1748 DrawResult draw_result) override { 1750 DrawResult draw_result) override {
1749 const bool screen_space_transform_is_animating = 1751 const bool screen_space_transform_is_animating =
1750 host_impl->active_tree() 1752 host_impl->active_tree()
1751 ->root_layer() 1753 ->root_layer_for_testing()
1752 ->screen_space_transform_is_animating(); 1754 ->screen_space_transform_is_animating();
1753 1755
1754 // Check that screen_space_transform_is_animating changes only once. 1756 // Check that screen_space_transform_is_animating changes only once.
1755 if (screen_space_transform_is_animating && 1757 if (screen_space_transform_is_animating &&
1756 prev_screen_space_transform_is_animating_) 1758 prev_screen_space_transform_is_animating_)
1757 EXPECT_FALSE(screen_space_transform_animation_stopped_); 1759 EXPECT_FALSE(screen_space_transform_animation_stopped_);
1758 if (!screen_space_transform_is_animating && 1760 if (!screen_space_transform_is_animating &&
1759 prev_screen_space_transform_is_animating_) { 1761 prev_screen_space_transform_is_animating_) {
1760 EXPECT_FALSE(screen_space_transform_animation_stopped_); 1762 EXPECT_FALSE(screen_space_transform_animation_stopped_);
1761 screen_space_transform_animation_stopped_ = true; 1763 screen_space_transform_animation_stopped_ = true;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1830 private: 1832 private:
1831 scoped_refptr<Layer> layer_; 1833 scoped_refptr<Layer> layer_;
1832 FakeContentLayerClient client_; 1834 FakeContentLayerClient client_;
1833 }; 1835 };
1834 1836
1835 MULTI_THREAD_TEST_F( 1837 MULTI_THREAD_TEST_F(
1836 LayerTreeHostAnimationTestRebuildPropertyTreesOnAnimationSetNeedsCommit); 1838 LayerTreeHostAnimationTestRebuildPropertyTreesOnAnimationSetNeedsCommit);
1837 1839
1838 } // namespace 1840 } // namespace
1839 } // namespace cc 1841 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest.cc ('k') | cc/trees/layer_tree_host_unittest_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698