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 785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
796 root_->AddChild(child_); | 796 root_->AddChild(child_); |
797 layer_tree_host()->SetRootLayer(root_); | 797 layer_tree_host()->SetRootLayer(root_); |
798 LayerTreeHostTest::SetupTree(); | 798 LayerTreeHostTest::SetupTree(); |
799 } | 799 } |
800 | 800 |
801 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 801 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
802 | 802 |
803 void DidCommit() override { | 803 void DidCommit() override { |
804 switch (layer_tree_host()->SourceFrameNumber()) { | 804 switch (layer_tree_host()->SourceFrameNumber()) { |
805 case 1: | 805 case 1: |
806 // child_ should create transform, effect, clip node. | 806 // child_ should create transform, effect node. |
807 child_->SetForceRenderSurfaceForTesting(true); | 807 child_->SetForceRenderSurfaceForTesting(true); |
808 break; | 808 break; |
809 case 2: | 809 case 2: |
810 // child_ should create a scroll node. | 810 // child_ should create a scroll node. |
811 child_->SetScrollClipLayerId(root_->id()); | 811 child_->SetScrollClipLayerId(root_->id()); |
812 break; | 812 break; |
813 case 3: | 813 case 3: |
| 814 // child_ should create a clip node. |
| 815 child_->SetMasksToBounds(true); |
| 816 break; |
| 817 case 4: |
814 // child_ should not create any property tree node. | 818 // child_ should not create any property tree node. |
| 819 child_->SetMasksToBounds(false); |
815 child_->SetForceRenderSurfaceForTesting(false); | 820 child_->SetForceRenderSurfaceForTesting(false); |
816 child_->SetScrollClipLayerId(Layer::INVALID_ID); | 821 child_->SetScrollClipLayerId(Layer::INVALID_ID); |
817 } | 822 } |
818 } | 823 } |
819 | 824 |
820 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 825 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
821 PropertyTrees* property_trees = impl->sync_tree()->property_trees(); | 826 PropertyTrees* property_trees = impl->sync_tree()->property_trees(); |
822 auto root_transform_id_to_index = | 827 auto root_transform_id_to_index = |
823 property_trees->layer_id_to_transform_node_index.find(root_->id()); | 828 property_trees->layer_id_to_transform_node_index.find(root_->id()); |
824 auto child_transform_id_to_index = | 829 auto child_transform_id_to_index = |
825 property_trees->layer_id_to_transform_node_index.find(child_->id()); | 830 property_trees->layer_id_to_transform_node_index.find(child_->id()); |
826 auto root_effect_id_to_index = | 831 auto root_effect_id_to_index = |
827 property_trees->layer_id_to_effect_node_index.find(root_->id()); | 832 property_trees->layer_id_to_effect_node_index.find(root_->id()); |
828 auto child_effect_id_to_index = | 833 auto child_effect_id_to_index = |
829 property_trees->layer_id_to_effect_node_index.find(child_->id()); | 834 property_trees->layer_id_to_effect_node_index.find(child_->id()); |
830 auto root_clip_id_to_index = | 835 auto root_clip_id_to_index = |
831 property_trees->layer_id_to_clip_node_index.find(root_->id()); | 836 property_trees->layer_id_to_clip_node_index.find(root_->id()); |
832 auto child_clip_id_to_index = | 837 auto child_clip_id_to_index = |
833 property_trees->layer_id_to_clip_node_index.find(child_->id()); | 838 property_trees->layer_id_to_clip_node_index.find(child_->id()); |
834 auto root_scroll_id_to_index = | 839 auto root_scroll_id_to_index = |
835 property_trees->layer_id_to_scroll_node_index.find(root_->id()); | 840 property_trees->layer_id_to_scroll_node_index.find(root_->id()); |
836 auto child_scroll_id_to_index = | 841 auto child_scroll_id_to_index = |
837 property_trees->layer_id_to_scroll_node_index.find(child_->id()); | 842 property_trees->layer_id_to_scroll_node_index.find(child_->id()); |
838 switch (impl->sync_tree()->source_frame_number()) { | 843 switch (impl->sync_tree()->source_frame_number()) { |
839 case 0: | 844 case 0: |
840 // root_ should create every property tree node and child_ should not | 845 // root_ should create transform, scroll and effect tree nodes but not |
841 // create any. | 846 // a clip node. |
842 EXPECT_NE(root_transform_id_to_index, | 847 EXPECT_NE(root_transform_id_to_index, |
843 property_trees->layer_id_to_transform_node_index.end()); | 848 property_trees->layer_id_to_transform_node_index.end()); |
844 EXPECT_EQ(root_transform_id_to_index->second, | 849 EXPECT_EQ(root_transform_id_to_index->second, |
845 root_->transform_tree_index()); | 850 root_->transform_tree_index()); |
846 EXPECT_NE(root_effect_id_to_index, | 851 EXPECT_NE(root_effect_id_to_index, |
847 property_trees->layer_id_to_effect_node_index.end()); | 852 property_trees->layer_id_to_effect_node_index.end()); |
848 EXPECT_EQ(root_effect_id_to_index->second, root_->effect_tree_index()); | 853 EXPECT_EQ(root_effect_id_to_index->second, root_->effect_tree_index()); |
849 EXPECT_NE(root_clip_id_to_index, | |
850 property_trees->layer_id_to_clip_node_index.end()); | |
851 EXPECT_EQ(root_clip_id_to_index->second, root_->clip_tree_index()); | |
852 EXPECT_NE(root_scroll_id_to_index, | 854 EXPECT_NE(root_scroll_id_to_index, |
853 property_trees->layer_id_to_scroll_node_index.end()); | 855 property_trees->layer_id_to_scroll_node_index.end()); |
854 EXPECT_EQ(root_scroll_id_to_index->second, root_->scroll_tree_index()); | 856 EXPECT_EQ(root_scroll_id_to_index->second, root_->scroll_tree_index()); |
| 857 EXPECT_EQ(root_clip_id_to_index, |
| 858 property_trees->layer_id_to_clip_node_index.end()); |
855 EXPECT_EQ(child_transform_id_to_index, | 859 EXPECT_EQ(child_transform_id_to_index, |
856 property_trees->layer_id_to_transform_node_index.end()); | 860 property_trees->layer_id_to_transform_node_index.end()); |
857 EXPECT_EQ(child_effect_id_to_index, | 861 EXPECT_EQ(child_effect_id_to_index, |
858 property_trees->layer_id_to_effect_node_index.end()); | 862 property_trees->layer_id_to_effect_node_index.end()); |
859 EXPECT_EQ(child_clip_id_to_index, | 863 EXPECT_EQ(child_clip_id_to_index, |
860 property_trees->layer_id_to_clip_node_index.end()); | 864 property_trees->layer_id_to_clip_node_index.end()); |
861 EXPECT_EQ(child_scroll_id_to_index, | 865 EXPECT_EQ(child_scroll_id_to_index, |
862 property_trees->layer_id_to_scroll_node_index.end()); | 866 property_trees->layer_id_to_scroll_node_index.end()); |
863 break; | 867 break; |
864 case 1: | 868 case 1: |
865 // child_ should create a transfrom, clip, effect nodes but not a scroll | 869 // child_ should create a transfrom, effect nodes but not a scroll, clip |
866 // node. | 870 // node. |
867 EXPECT_NE( | 871 EXPECT_NE( |
868 property_trees->layer_id_to_transform_node_index.find(child_->id()), | 872 property_trees->layer_id_to_transform_node_index.find(child_->id()), |
869 property_trees->layer_id_to_transform_node_index.end()); | 873 property_trees->layer_id_to_transform_node_index.end()); |
870 EXPECT_EQ(child_transform_id_to_index->second, | 874 EXPECT_EQ(child_transform_id_to_index->second, |
871 child_->transform_tree_index()); | 875 child_->transform_tree_index()); |
872 EXPECT_NE( | 876 EXPECT_NE( |
873 property_trees->layer_id_to_effect_node_index.find(child_->id()), | 877 property_trees->layer_id_to_effect_node_index.find(child_->id()), |
874 property_trees->layer_id_to_effect_node_index.end()); | 878 property_trees->layer_id_to_effect_node_index.end()); |
875 EXPECT_EQ(child_effect_id_to_index->second, | 879 EXPECT_EQ(child_effect_id_to_index->second, |
876 child_->effect_tree_index()); | 880 child_->effect_tree_index()); |
877 EXPECT_NE( | 881 EXPECT_EQ( |
878 property_trees->layer_id_to_clip_node_index.find(child_->id()), | 882 property_trees->layer_id_to_clip_node_index.find(child_->id()), |
879 property_trees->layer_id_to_clip_node_index.end()); | 883 property_trees->layer_id_to_clip_node_index.end()); |
880 EXPECT_EQ(child_clip_id_to_index->second, child_->clip_tree_index()); | |
881 EXPECT_EQ( | 884 EXPECT_EQ( |
882 property_trees->layer_id_to_scroll_node_index.find(child_->id()), | 885 property_trees->layer_id_to_scroll_node_index.find(child_->id()), |
883 property_trees->layer_id_to_scroll_node_index.end()); | 886 property_trees->layer_id_to_scroll_node_index.end()); |
884 break; | 887 break; |
885 case 2: | 888 case 2: |
886 // child_ should create a scroll node. | 889 // child_ should create a scroll node. |
887 EXPECT_NE( | 890 EXPECT_NE( |
888 property_trees->layer_id_to_scroll_node_index.find(child_->id()), | 891 property_trees->layer_id_to_scroll_node_index.find(child_->id()), |
889 property_trees->layer_id_to_scroll_node_index.end()); | 892 property_trees->layer_id_to_scroll_node_index.end()); |
890 EXPECT_EQ(child_scroll_id_to_index->second, | 893 EXPECT_EQ(child_scroll_id_to_index->second, |
891 child_->scroll_tree_index()); | 894 child_->scroll_tree_index()); |
892 break; | 895 break; |
893 case 3: | 896 case 3: |
| 897 // child_ should create a clip node. |
| 898 EXPECT_NE( |
| 899 property_trees->layer_id_to_clip_node_index.find(child_->id()), |
| 900 property_trees->layer_id_to_clip_node_index.end()); |
| 901 EXPECT_EQ(child_clip_id_to_index->second, child_->clip_tree_index()); |
| 902 break; |
| 903 case 4: |
894 // child_ should not create any property tree nodes. | 904 // child_ should not create any property tree nodes. |
895 EXPECT_EQ( | 905 EXPECT_EQ( |
896 property_trees->layer_id_to_transform_node_index.find(child_->id()), | 906 property_trees->layer_id_to_transform_node_index.find(child_->id()), |
897 property_trees->layer_id_to_transform_node_index.end()); | 907 property_trees->layer_id_to_transform_node_index.end()); |
898 EXPECT_EQ( | 908 EXPECT_EQ( |
899 property_trees->layer_id_to_effect_node_index.find(child_->id()), | 909 property_trees->layer_id_to_effect_node_index.find(child_->id()), |
900 property_trees->layer_id_to_effect_node_index.end()); | 910 property_trees->layer_id_to_effect_node_index.end()); |
901 EXPECT_EQ( | 911 EXPECT_EQ( |
902 property_trees->layer_id_to_clip_node_index.find(child_->id()), | 912 property_trees->layer_id_to_clip_node_index.find(child_->id()), |
903 property_trees->layer_id_to_clip_node_index.end()); | 913 property_trees->layer_id_to_clip_node_index.end()); |
(...skipping 6272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7176 | 7186 |
7177 private: | 7187 private: |
7178 bool first_ = true; | 7188 bool first_ = true; |
7179 SkBitmap bitmap_; | 7189 SkBitmap bitmap_; |
7180 }; | 7190 }; |
7181 | 7191 |
7182 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestQueueImageDecodeNonLazy); | 7192 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestQueueImageDecodeNonLazy); |
7183 | 7193 |
7184 } // namespace | 7194 } // namespace |
7185 } // namespace cc | 7195 } // namespace cc |
OLD | NEW |