| 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 762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 773 break; | 773 break; |
| 774 } | 774 } |
| 775 } | 775 } |
| 776 | 776 |
| 777 void AfterTest() override {} | 777 void AfterTest() override {} |
| 778 int index_; | 778 int index_; |
| 779 }; | 779 }; |
| 780 | 780 |
| 781 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); | 781 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); |
| 782 | 782 |
| 783 // Verify damage status is updated even when the transform tree doesn't need |
| 784 // to be updated at draw time. |
| 785 class LayerTreeHostTestTransformTreeDamageIsUpdated : public LayerTreeHostTest { |
| 786 protected: |
| 787 void SetupTree() override { |
| 788 root_ = Layer::Create(); |
| 789 child_ = Layer::Create(); |
| 790 grand_child_ = Layer::Create(); |
| 791 |
| 792 root_->SetBounds(gfx::Size(50, 50)); |
| 793 |
| 794 // Make sure child and grand_child have transform nodes. |
| 795 gfx::Transform rotation; |
| 796 rotation.RotateAboutZAxis(45.0); |
| 797 child_->SetTransform(rotation); |
| 798 grand_child_->SetTransform(rotation); |
| 799 |
| 800 root_->AddChild(child_); |
| 801 child_->AddChild(grand_child_); |
| 802 layer_tree_host()->SetRootLayer(root_); |
| 803 LayerTreeHostTest::SetupTree(); |
| 804 } |
| 805 |
| 806 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 807 |
| 808 void DidCommit() override { |
| 809 if (layer_tree_host()->source_frame_number() == 1) { |
| 810 gfx::Transform scale; |
| 811 scale.Scale(2.0, 2.0); |
| 812 child_->OnTransformAnimated(scale); |
| 813 } |
| 814 } |
| 815 |
| 816 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
| 817 if (impl->sync_tree()->source_frame_number() == 0) |
| 818 PostSetNeedsCommitToMainThread(); |
| 819 } |
| 820 |
| 821 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* impl, |
| 822 LayerTreeHostImpl::FrameData* frame_data, |
| 823 DrawResult draw_result) override { |
| 824 if (impl->active_tree()->source_frame_number() == 1) { |
| 825 EXPECT_FALSE( |
| 826 impl->active_tree()->LayerById(root_->id())->LayerPropertyChanged()); |
| 827 EXPECT_TRUE( |
| 828 impl->active_tree()->LayerById(child_->id())->LayerPropertyChanged()); |
| 829 EXPECT_TRUE(impl->active_tree() |
| 830 ->LayerById(grand_child_->id()) |
| 831 ->LayerPropertyChanged()); |
| 832 EndTest(); |
| 833 } |
| 834 |
| 835 return draw_result; |
| 836 } |
| 837 |
| 838 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 839 if (impl->active_tree()->source_frame_number() == 0) { |
| 840 gfx::Transform scale; |
| 841 scale.Scale(2.0, 2.0); |
| 842 impl->active_tree()->LayerById(child_->id())->OnTransformAnimated(scale); |
| 843 } |
| 844 } |
| 845 |
| 846 void AfterTest() override {} |
| 847 |
| 848 private: |
| 849 scoped_refptr<Layer> root_; |
| 850 scoped_refptr<Layer> child_; |
| 851 scoped_refptr<Layer> grand_child_; |
| 852 }; |
| 853 |
| 854 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestTransformTreeDamageIsUpdated); |
| 855 |
| 783 // Test that when mask layers switches layers, this gets pushed onto impl. | 856 // Test that when mask layers switches layers, this gets pushed onto impl. |
| 784 // Also test that mask layer is in the layer update list even if its owning | 857 // Also test that mask layer is in the layer update list even if its owning |
| 785 // layer isn't. | 858 // layer isn't. |
| 786 class LayerTreeHostTestSwitchMaskLayer : public LayerTreeHostTest { | 859 class LayerTreeHostTestSwitchMaskLayer : public LayerTreeHostTest { |
| 787 protected: | 860 protected: |
| 788 void SetupTree() override { | 861 void SetupTree() override { |
| 789 scoped_refptr<Layer> root = Layer::Create(); | 862 scoped_refptr<Layer> root = Layer::Create(); |
| 790 root->SetBounds(gfx::Size(10, 10)); | 863 root->SetBounds(gfx::Size(10, 10)); |
| 791 scoped_refptr<Layer> child = Layer::Create(); | 864 scoped_refptr<Layer> child = Layer::Create(); |
| 792 mask_layer = Layer::Create(); | 865 mask_layer = Layer::Create(); |
| (...skipping 5832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6625 EndTest(); | 6698 EndTest(); |
| 6626 } | 6699 } |
| 6627 | 6700 |
| 6628 void AfterTest() override {} | 6701 void AfterTest() override {} |
| 6629 }; | 6702 }; |
| 6630 | 6703 |
| 6631 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); | 6704 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); |
| 6632 | 6705 |
| 6633 } // namespace | 6706 } // namespace |
| 6634 } // namespace cc | 6707 } // namespace cc |
| OLD | NEW |