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 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 layer_tree()->SetRootLayer(root_); | 928 layer_tree()->SetRootLayer(root_); |
928 LayerTreeHostTest::SetupTree(); | 929 LayerTreeHostTest::SetupTree(); |
929 } | 930 } |
930 | 931 |
931 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 932 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
932 | 933 |
933 void DidCommit() override { | 934 void DidCommit() override { |
934 switch (layer_tree_host()->SourceFrameNumber()) { | 935 switch (layer_tree_host()->SourceFrameNumber()) { |
935 case 1: | 936 case 1: |
936 child_->SetForceRenderSurfaceForTesting(true); | 937 child_->SetForceRenderSurfaceForTesting(true); |
| 938 child_->AddMainThreadScrollingReasons( |
| 939 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
937 break; | 940 break; |
938 case 2: | 941 case 2: |
939 child_->SetForceRenderSurfaceForTesting(false); | 942 child_->SetForceRenderSurfaceForTesting(false); |
| 943 child_->ClearMainThreadScrollingReasons( |
| 944 MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects); |
940 break; | 945 break; |
941 } | 946 } |
942 } | 947 } |
943 | 948 |
944 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | 949 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { |
945 PropertyTrees* property_trees = impl->sync_tree()->property_trees(); | 950 PropertyTrees* property_trees = impl->sync_tree()->property_trees(); |
946 LayerImpl* child_impl_ = impl->sync_tree()->LayerById(child_->id()); | 951 LayerImpl* child_impl_ = impl->sync_tree()->LayerById(child_->id()); |
947 switch (impl->sync_tree()->source_frame_number()) { | 952 switch (impl->sync_tree()->source_frame_number()) { |
948 case 0: | 953 case 0: |
949 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 954 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
950 ->property_trees() | 955 ->property_trees() |
951 ->transform_tree.size()); | 956 ->transform_tree.size()); |
952 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 957 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
953 ->property_trees() | 958 ->property_trees() |
954 ->effect_tree.size()); | 959 ->effect_tree.size()); |
| 960 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
| 961 ->property_trees() |
| 962 ->scroll_tree.size()); |
955 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( | 963 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( |
956 kTestElementId) == | 964 kTestElementId) == |
957 property_trees->element_id_to_transform_node_index.end()); | 965 property_trees->element_id_to_transform_node_index.end()); |
958 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( | 966 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( |
959 kTestElementId) == | 967 kTestElementId) == |
960 property_trees->element_id_to_effect_node_index.end()); | 968 property_trees->element_id_to_effect_node_index.end()); |
| 969 EXPECT_TRUE(property_trees->element_id_to_scroll_node_index.find( |
| 970 kTestElementId) == |
| 971 property_trees->element_id_to_scroll_node_index.end()); |
961 break; | 972 break; |
962 case 1: | 973 case 1: |
963 EXPECT_EQ(3U, child_impl_->layer_tree_impl() | 974 EXPECT_EQ(3U, child_impl_->layer_tree_impl() |
964 ->property_trees() | 975 ->property_trees() |
965 ->transform_tree.size()); | 976 ->transform_tree.size()); |
966 EXPECT_EQ(3U, child_impl_->layer_tree_impl() | 977 EXPECT_EQ(3U, child_impl_->layer_tree_impl() |
967 ->property_trees() | 978 ->property_trees() |
968 ->effect_tree.size()); | 979 ->effect_tree.size()); |
| 980 EXPECT_EQ(3U, child_impl_->layer_tree_impl() |
| 981 ->property_trees() |
| 982 ->scroll_tree.size()); |
969 EXPECT_EQ( | 983 EXPECT_EQ( |
970 2, | 984 2, |
971 property_trees->element_id_to_transform_node_index[kTestElementId]); | 985 property_trees->element_id_to_transform_node_index[kTestElementId]); |
972 EXPECT_EQ( | 986 EXPECT_EQ( |
973 2, property_trees->element_id_to_effect_node_index[kTestElementId]); | 987 2, property_trees->element_id_to_effect_node_index[kTestElementId]); |
| 988 EXPECT_EQ( |
| 989 2, property_trees->element_id_to_scroll_node_index[kTestElementId]); |
974 break; | 990 break; |
975 case 2: | 991 case 2: |
976 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 992 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
977 ->property_trees() | 993 ->property_trees() |
978 ->transform_tree.size()); | 994 ->transform_tree.size()); |
979 EXPECT_EQ(2U, child_impl_->layer_tree_impl() | 995 EXPECT_EQ(2U, child_impl_->layer_tree_impl() |
980 ->property_trees() | 996 ->property_trees() |
981 ->effect_tree.size()); | 997 ->effect_tree.size()); |
982 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( | 998 EXPECT_TRUE(property_trees->element_id_to_transform_node_index.find( |
983 kTestElementId) == | 999 kTestElementId) == |
984 property_trees->element_id_to_transform_node_index.end()); | 1000 property_trees->element_id_to_transform_node_index.end()); |
985 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( | 1001 EXPECT_TRUE(property_trees->element_id_to_effect_node_index.find( |
986 kTestElementId) == | 1002 kTestElementId) == |
987 property_trees->element_id_to_effect_node_index.end()); | 1003 property_trees->element_id_to_effect_node_index.end()); |
| 1004 EXPECT_TRUE(property_trees->element_id_to_scroll_node_index.find( |
| 1005 kTestElementId) == |
| 1006 property_trees->element_id_to_scroll_node_index.end()); |
988 break; | 1007 break; |
989 } | 1008 } |
990 EndTest(); | 1009 EndTest(); |
991 } | 1010 } |
992 | 1011 |
993 void AfterTest() override {} | 1012 void AfterTest() override {} |
994 | 1013 |
995 private: | 1014 private: |
996 const ElementId kTestElementId = ElementId(42, 8118); | 1015 const ElementId kTestElementId = ElementId(42, 8118); |
997 | 1016 |
(...skipping 6162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7160 EndTest(); | 7179 EndTest(); |
7161 } | 7180 } |
7162 | 7181 |
7163 void AfterTest() override {} | 7182 void AfterTest() override {} |
7164 }; | 7183 }; |
7165 | 7184 |
7166 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); | 7185 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); |
7167 | 7186 |
7168 } // namespace | 7187 } // namespace |
7169 } // namespace cc | 7188 } // namespace cc |
OLD | NEW |