| 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 |