| 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 break; | 821 break; |
| 822 } | 822 } |
| 823 } | 823 } |
| 824 | 824 |
| 825 void AfterTest() override {} | 825 void AfterTest() override {} |
| 826 int index_; | 826 int index_; |
| 827 }; | 827 }; |
| 828 | 828 |
| 829 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); | 829 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); |
| 830 | 830 |
| 831 // Verify damage status is updated even when the transform tree doesn't need |
| 832 // to be updated at draw time. |
| 833 class LayerTreeHostTestTransformTreeDamageIsUpdated : public LayerTreeHostTest { |
| 834 protected: |
| 835 void SetupTree() override { |
| 836 root_ = Layer::Create(); |
| 837 child_ = Layer::Create(); |
| 838 grand_child_ = Layer::Create(); |
| 839 |
| 840 root_->SetBounds(gfx::Size(50, 50)); |
| 841 |
| 842 // Make sure child and grand_child have transform nodes. |
| 843 gfx::Transform rotation; |
| 844 rotation.RotateAboutZAxis(45.0); |
| 845 child_->SetTransform(rotation); |
| 846 grand_child_->SetTransform(rotation); |
| 847 |
| 848 root_->AddChild(child_); |
| 849 child_->AddChild(grand_child_); |
| 850 layer_tree_host()->SetRootLayer(root_); |
| 851 LayerTreeHostTest::SetupTree(); |
| 852 } |
| 853 |
| 854 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 855 |
| 856 void DidCommit() override { |
| 857 if (layer_tree_host()->source_frame_number() == 1) { |
| 858 gfx::Transform scale; |
| 859 scale.Scale(2.0, 2.0); |
| 860 child_->OnTransformAnimated(scale); |
| 861 } |
| 862 } |
| 863 |
| 864 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
| 865 if (impl->sync_tree()->source_frame_number() == 0) |
| 866 PostSetNeedsCommitToMainThread(); |
| 867 } |
| 868 |
| 869 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* impl, |
| 870 LayerTreeHostImpl::FrameData* frame_data, |
| 871 DrawResult draw_result) override { |
| 872 if (impl->active_tree()->source_frame_number() == 1) { |
| 873 EXPECT_FALSE( |
| 874 impl->active_tree()->LayerById(root_->id())->LayerPropertyChanged()); |
| 875 EXPECT_TRUE( |
| 876 impl->active_tree()->LayerById(child_->id())->LayerPropertyChanged()); |
| 877 EXPECT_TRUE(impl->active_tree() |
| 878 ->LayerById(grand_child_->id()) |
| 879 ->LayerPropertyChanged()); |
| 880 EndTest(); |
| 881 } |
| 882 |
| 883 return draw_result; |
| 884 } |
| 885 |
| 886 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 887 if (impl->active_tree()->source_frame_number() == 0) { |
| 888 gfx::Transform scale; |
| 889 scale.Scale(2.0, 2.0); |
| 890 impl->active_tree()->LayerById(child_->id())->OnTransformAnimated(scale); |
| 891 } |
| 892 } |
| 893 |
| 894 void AfterTest() override {} |
| 895 |
| 896 private: |
| 897 scoped_refptr<Layer> root_; |
| 898 scoped_refptr<Layer> child_; |
| 899 scoped_refptr<Layer> grand_child_; |
| 900 }; |
| 901 |
| 902 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestTransformTreeDamageIsUpdated); |
| 903 |
| 831 // Test that when mask layers switches layers, this gets pushed onto impl. | 904 // Test that when mask layers switches layers, this gets pushed onto impl. |
| 832 // Also test that mask layer is in the layer update list even if its owning | 905 // Also test that mask layer is in the layer update list even if its owning |
| 833 // layer isn't. | 906 // layer isn't. |
| 834 class LayerTreeHostTestSwitchMaskLayer : public LayerTreeHostTest { | 907 class LayerTreeHostTestSwitchMaskLayer : public LayerTreeHostTest { |
| 835 protected: | 908 protected: |
| 836 void SetupTree() override { | 909 void SetupTree() override { |
| 837 scoped_refptr<Layer> root = Layer::Create(); | 910 scoped_refptr<Layer> root = Layer::Create(); |
| 838 root->SetBounds(gfx::Size(10, 10)); | 911 root->SetBounds(gfx::Size(10, 10)); |
| 839 scoped_refptr<Layer> child = Layer::Create(); | 912 scoped_refptr<Layer> child = Layer::Create(); |
| 840 mask_layer = Layer::Create(); | 913 mask_layer = Layer::Create(); |
| (...skipping 5504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6345 EndTest(); | 6418 EndTest(); |
| 6346 } | 6419 } |
| 6347 | 6420 |
| 6348 void AfterTest() override {} | 6421 void AfterTest() override {} |
| 6349 }; | 6422 }; |
| 6350 | 6423 |
| 6351 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); | 6424 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); |
| 6352 | 6425 |
| 6353 } // namespace | 6426 } // namespace |
| 6354 } // namespace cc | 6427 } // namespace cc |
| OLD | NEW |