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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 #include "cc/test/push_properties_counting_layer.h" | 50 #include "cc/test/push_properties_counting_layer.h" |
51 #include "cc/test/push_properties_counting_layer_impl.h" | 51 #include "cc/test/push_properties_counting_layer_impl.h" |
52 #include "cc/test/render_pass_test_utils.h" | 52 #include "cc/test/render_pass_test_utils.h" |
53 #include "cc/test/skia_common.h" | 53 #include "cc/test/skia_common.h" |
54 #include "cc/test/test_compositor_frame_sink.h" | 54 #include "cc/test/test_compositor_frame_sink.h" |
55 #include "cc/test/test_web_graphics_context_3d.h" | 55 #include "cc/test/test_web_graphics_context_3d.h" |
56 #include "cc/trees/effect_node.h" | 56 #include "cc/trees/effect_node.h" |
57 #include "cc/trees/layer_tree_host_common.h" | 57 #include "cc/trees/layer_tree_host_common.h" |
58 #include "cc/trees/layer_tree_host_impl.h" | 58 #include "cc/trees/layer_tree_host_impl.h" |
59 #include "cc/trees/layer_tree_impl.h" | 59 #include "cc/trees/layer_tree_impl.h" |
| 60 #include "cc/trees/scroll_node.h" |
60 #include "cc/trees/single_thread_proxy.h" | 61 #include "cc/trees/single_thread_proxy.h" |
61 #include "cc/trees/swap_promise_manager.h" | 62 #include "cc/trees/swap_promise_manager.h" |
62 #include "cc/trees/transform_node.h" | 63 #include "cc/trees/transform_node.h" |
63 #include "gpu/GLES2/gl2extchromium.h" | 64 #include "gpu/GLES2/gl2extchromium.h" |
64 #include "testing/gmock/include/gmock/gmock.h" | 65 #include "testing/gmock/include/gmock/gmock.h" |
65 #include "third_party/khronos/GLES2/gl2.h" | 66 #include "third_party/khronos/GLES2/gl2.h" |
66 #include "third_party/khronos/GLES2/gl2ext.h" | 67 #include "third_party/khronos/GLES2/gl2ext.h" |
67 #include "third_party/skia/include/core/SkPicture.h" | 68 #include "third_party/skia/include/core/SkPicture.h" |
68 #include "third_party/skia/include/gpu/GrContext.h" | 69 #include "third_party/skia/include/gpu/GrContext.h" |
69 #include "ui/gfx/geometry/point_conversions.h" | 70 #include "ui/gfx/geometry/point_conversions.h" |
(...skipping 866 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
936 layer_tree()->SetRootLayer(root_); | 937 layer_tree()->SetRootLayer(root_); |
937 LayerTreeHostTest::SetupTree(); | 938 LayerTreeHostTest::SetupTree(); |
938 } | 939 } |
939 | 940 |
940 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 941 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
941 | 942 |
942 void DidCommit() override { | 943 void DidCommit() override { |
943 switch (layer_tree_host()->SourceFrameNumber()) { | 944 switch (layer_tree_host()->SourceFrameNumber()) { |
944 case 1: | 945 case 1: |
945 child_->SetForceRenderSurfaceForTesting(true); | 946 child_->SetForceRenderSurfaceForTesting(true); |
| 947 child_->AddMainThreadScrollingReasons( |
| 948 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
946 break; | 949 break; |
947 case 2: | 950 case 2: |
948 child_->SetForceRenderSurfaceForTesting(false); | 951 child_->SetForceRenderSurfaceForTesting(false); |
| 952 child_->ClearMainThreadScrollingReasons( |
| 953 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
949 break; | 954 break; |
950 } | 955 } |
951 } | 956 } |
952 | 957 |
953 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 958 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
954 PropertyTrees* property_trees = impl->sync_tree()->property_trees(); | 959 PropertyTrees* property_trees = impl->sync_tree()->property_trees(); |
955 LayerImpl* child_impl_ = impl->sync_tree()->LayerById(child_->id()); | 960 LayerImpl* child_impl_ = impl->sync_tree()->LayerById(child_->id()); |
956 switch (impl->sync_tree()->source_frame_number()) { | 961 switch (impl->sync_tree()->source_frame_number()) { |
957 case 0: | 962 case 0: |
958 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 963 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
959 ->property_trees() | 964 ->property_trees() |
960 ->transform_tree.size()); | 965 ->transform_tree.size()); |
961 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 966 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
962 ->property_trees() | 967 ->property_trees() |
963 ->effect_tree.size()); | 968 ->effect_tree.size()); |
| 969 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
| 970 ->property_trees() |
| 971 ->scroll_tree.size()); |
964 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( | 972 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( |
965 kTestElementId) == | 973 kTestElementId) == |
966 property_trees->element_id_to_transform_node_index.end()); | 974 property_trees->element_id_to_transform_node_index.end()); |
967 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( | 975 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( |
968 kTestElementId) == | 976 kTestElementId) == |
969 property_trees->element_id_to_effect_node_index.end()); | 977 property_trees->element_id_to_effect_node_index.end()); |
| 978 EXPECT_TRUE(property_trees->element_id_to_scroll_node_index.find( |
| 979 kTestElementId) == |
| 980 property_trees->element_id_to_scroll_node_index.end()); |
970 break; | 981 break; |
971 case 1: | 982 case 1: |
972 EXPECT_EQ(3U, child_impl_->layer_tree_impl() | 983 EXPECT_EQ(3U, child_impl_->layer_tree_impl() |
973 ->property_trees() | 984 ->property_trees() |
974 ->transform_tree.size()); | 985 ->transform_tree.size()); |
975 EXPECT_EQ(3U, child_impl_->layer_tree_impl() | 986 EXPECT_EQ(3U, child_impl_->layer_tree_impl() |
976 ->property_trees() | 987 ->property_trees() |
977 ->effect_tree.size()); | 988 ->effect_tree.size()); |
| 989 EXPECT_EQ(3U, child_impl_->layer_tree_impl() |
| 990 ->property_trees() |
| 991 ->scroll_tree.size()); |
978 EXPECT_EQ( | 992 EXPECT_EQ( |
979 2, | 993 2, |
980 property_trees->element_id_to_transform_node_index[kTestElementId]); | 994 property_trees->element_id_to_transform_node_index[kTestElementId]); |
981 EXPECT_EQ( | 995 EXPECT_EQ( |
982 2, property_trees->element_id_to_effect_node_index[kTestElementId]); | 996 2, property_trees->element_id_to_effect_node_index[kTestElementId]); |
| 997 EXPECT_EQ( |
| 998 2, property_trees->element_id_to_scroll_node_index[kTestElementId]); |
983 break; | 999 break; |
984 case 2: | 1000 case 2: |
985 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 1001 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
986 ->property_trees() | 1002 ->property_trees() |
987 ->transform_tree.size()); | 1003 ->transform_tree.size()); |
988 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 1004 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
989 ->property_trees() | 1005 ->property_trees() |
990 ->effect_tree.size()); | 1006 ->effect_tree.size()); |
991 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( | 1007 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( |
992 kTestElementId) == | 1008 kTestElementId) == |
993 property_trees->element_id_to_transform_node_index.end()); | 1009 property_trees->element_id_to_transform_node_index.end()); |
994 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( | 1010 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( |
995 kTestElementId) == | 1011 kTestElementId) == |
996 property_trees->element_id_to_effect_node_index.end()); | 1012 property_trees->element_id_to_effect_node_index.end()); |
| 1013 EXPECT_TRUE(property_trees->element_id_to_scroll_node_index.find( |
| 1014 kTestElementId) == |
| 1015 property_trees->element_id_to_scroll_node_index.end()); |
997 break; | 1016 break; |
998 } | 1017 } |
999 EndTest(); | 1018 EndTest(); |
1000 } | 1019 } |
1001 | 1020 |
1002 void AfterTest() override {} | 1021 void AfterTest() override {} |
1003 | 1022 |
1004 private: | 1023 private: |
1005 const ElementId kTestElementId = ElementId(42, 8118); | 1024 const ElementId kTestElementId = ElementId(42, 8118); |
1006 | 1025 |
(...skipping 6141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7148 EndTest(); | 7167 EndTest(); |
7149 } | 7168 } |
7150 | 7169 |
7151 void AfterTest() override {} | 7170 void AfterTest() override {} |
7152 }; | 7171 }; |
7153 | 7172 |
7154 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); | 7173 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); |
7155 | 7174 |
7156 } // namespace | 7175 } // namespace |
7157 } // namespace cc | 7176 } // namespace cc |
OLD | NEW |