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