| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/property_tree.h" | 5 #include "cc/trees/property_tree.h" |
| 6 | 6 |
| 7 #include "cc/input/main_thread_scrolling_reason.h" | 7 #include "cc/input/main_thread_scrolling_reason.h" |
| 8 #include "cc/proto/property_tree.pb.h" | 8 #include "cc/proto/property_tree.pb.h" |
| 9 #include "cc/test/geometry_test_utils.h" | 9 #include "cc/test/geometry_test_utils.h" |
| 10 #include "cc/trees/draw_property_utils.h" | 10 #include "cc/trees/draw_property_utils.h" |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 original.Insert(second, 0); | 93 original.Insert(second, 0); |
| 94 original.Insert(third, 1); | 94 original.Insert(third, 1); |
| 95 original.set_needs_update(true); | 95 original.set_needs_update(true); |
| 96 | 96 |
| 97 original.set_page_scale_factor(0.5f); | 97 original.set_page_scale_factor(0.5f); |
| 98 original.set_device_scale_factor(0.6f); | 98 original.set_device_scale_factor(0.6f); |
| 99 gfx::Transform transform = | 99 gfx::Transform transform = |
| 100 gfx::Transform(1.05f, 2.15f, 3.14f, 4.13f, 5.12f, 6.11f, 7.1f, 8.9f, 9.8f, | 100 gfx::Transform(1.05f, 2.15f, 3.14f, 4.13f, 5.12f, 6.11f, 7.1f, 8.9f, 9.8f, |
| 101 10.7f, 11.6f, 12.5f, 13.4f, 14.3f, 15.2f, 16.1f); | 101 10.7f, 11.6f, 12.5f, 13.4f, 14.3f, 15.2f, 16.1f); |
| 102 original.SetDeviceTransformScaleFactor(transform); | 102 original.SetDeviceTransformScaleFactor(transform); |
| 103 original.SetInnerViewportBoundsDelta(gfx::Vector2dF(0.4f, 0.6f)); | |
| 104 original.SetOuterViewportBoundsDelta(gfx::Vector2dF(0.5f, 0.7f)); | |
| 105 original.AddNodeAffectedByInnerViewportBoundsDelta(0); | 103 original.AddNodeAffectedByInnerViewportBoundsDelta(0); |
| 106 original.AddNodeAffectedByOuterViewportBoundsDelta(1); | 104 original.AddNodeAffectedByOuterViewportBoundsDelta(1); |
| 107 | 105 |
| 108 proto::PropertyTree proto; | 106 proto::PropertyTree proto; |
| 109 original.ToProtobuf(&proto); | 107 original.ToProtobuf(&proto); |
| 110 TransformTree result; | 108 TransformTree result; |
| 111 result.FromProtobuf(proto); | 109 result.FromProtobuf(proto); |
| 112 | 110 |
| 113 EXPECT_EQ(original, result); | 111 EXPECT_EQ(original, result); |
| 114 } | 112 } |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 | 224 |
| 227 EXPECT_EQ(original, result); | 225 EXPECT_EQ(original, result); |
| 228 } | 226 } |
| 229 | 227 |
| 230 TEST(PropertyTreeSerializationTest, ScrollNodeDataSerialization) { | 228 TEST(PropertyTreeSerializationTest, ScrollNodeDataSerialization) { |
| 231 ScrollNodeData original; | 229 ScrollNodeData original; |
| 232 original.scrollable = true; | 230 original.scrollable = true; |
| 233 original.main_thread_scrolling_reasons = | 231 original.main_thread_scrolling_reasons = |
| 234 MainThreadScrollingReason::kScrollbarScrolling; | 232 MainThreadScrollingReason::kScrollbarScrolling; |
| 235 original.contains_non_fast_scrollable_region = false; | 233 original.contains_non_fast_scrollable_region = false; |
| 236 original.transform_id = 2; | 234 original.scroll_clip_layer_bounds = gfx::Size(10, 10); |
| 235 original.bounds = gfx::Size(15, 15); |
| 236 original.envelope_page_scale_layer_with_clip_layer = true; |
| 237 original.is_inner_viewport_scroll_layer = true; |
| 238 original.is_outer_viewport_scroll_layer = false; |
| 239 original.is_inner_viewport_container_layer = false; |
| 240 original.is_outer_viewport_container_layer = false; |
| 237 | 241 |
| 238 proto::TreeNode proto; | 242 proto::TreeNode proto; |
| 239 original.ToProtobuf(&proto); | 243 original.ToProtobuf(&proto); |
| 240 ScrollNodeData result; | 244 ScrollNodeData result; |
| 241 result.FromProtobuf(proto); | 245 result.FromProtobuf(proto); |
| 242 | 246 |
| 243 EXPECT_EQ(original, result); | 247 EXPECT_EQ(original, result); |
| 244 } | 248 } |
| 245 | 249 |
| 246 TEST(PropertyTreeSerializationTest, ScrollNodeSerialization) { | 250 TEST(PropertyTreeSerializationTest, ScrollNodeSerialization) { |
| 247 ScrollNode original; | 251 ScrollNode original; |
| 248 original.id = 3; | 252 original.id = 3; |
| 249 original.parent_id = 2; | 253 original.parent_id = 2; |
| 250 original.owner_id = 4; | 254 original.owner_id = 4; |
| 251 | 255 |
| 252 proto::TreeNode proto; | 256 proto::TreeNode proto; |
| 253 original.ToProtobuf(&proto); | 257 original.ToProtobuf(&proto); |
| 254 ScrollNode result; | 258 ScrollNode result; |
| 255 result.FromProtobuf(proto); | 259 result.FromProtobuf(proto); |
| 256 | 260 |
| 257 EXPECT_EQ(original, result); | 261 EXPECT_EQ(original, result); |
| 258 } | 262 } |
| 259 | 263 |
| 260 TEST(PropertyTreeSerializationTest, ScrollTreeSerialization) { | 264 TEST(PropertyTreeSerializationTest, ScrollTreeSerialization) { |
| 261 ScrollTree original; | 265 ScrollTree original; |
| 262 ScrollNode& root = *original.Node(0); | |
| 263 root.data.transform_id = 2; | |
| 264 ScrollNode second; | 266 ScrollNode second; |
| 265 second.data.transform_id = 4; | |
| 266 second.data.scrollable = true; | 267 second.data.scrollable = true; |
| 268 second.data.bounds = gfx::Size(15, 15); |
| 267 ScrollNode third; | 269 ScrollNode third; |
| 268 third.data.transform_id = 5; | |
| 269 third.data.contains_non_fast_scrollable_region = true; | 270 third.data.contains_non_fast_scrollable_region = true; |
| 270 | 271 |
| 271 original.Insert(second, 0); | 272 original.Insert(second, 0); |
| 272 original.Insert(third, 1); | 273 original.Insert(third, 1); |
| 273 | 274 |
| 274 proto::PropertyTree proto; | 275 proto::PropertyTree proto; |
| 275 original.ToProtobuf(&proto); | 276 original.ToProtobuf(&proto); |
| 276 ScrollTree result; | 277 ScrollTree result; |
| 277 result.FromProtobuf(proto); | 278 result.FromProtobuf(proto); |
| 278 | 279 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 | 316 |
| 316 TransformTree TransformTreeForTest(const TransformTree& transform_tree) { | 317 TransformTree TransformTreeForTest(const TransformTree& transform_tree) { |
| 317 if (!test_serialization_) { | 318 if (!test_serialization_) { |
| 318 return transform_tree; | 319 return transform_tree; |
| 319 } | 320 } |
| 320 TransformTree new_tree; | 321 TransformTree new_tree; |
| 321 proto::PropertyTree proto; | 322 proto::PropertyTree proto; |
| 322 transform_tree.ToProtobuf(&proto); | 323 transform_tree.ToProtobuf(&proto); |
| 323 new_tree.FromProtobuf(proto); | 324 new_tree.FromProtobuf(proto); |
| 324 | 325 |
| 326 new_tree.SetPropertyTrees(transform_tree.property_trees()); |
| 327 |
| 325 EXPECT_EQ(transform_tree, new_tree); | 328 EXPECT_EQ(transform_tree, new_tree); |
| 326 return new_tree; | 329 return new_tree; |
| 327 } | 330 } |
| 328 | 331 |
| 329 EffectTree EffectTreeForTest(const EffectTree& effect_tree) { | 332 EffectTree EffectTreeForTest(const EffectTree& effect_tree) { |
| 330 if (!test_serialization_) { | 333 if (!test_serialization_) { |
| 331 return effect_tree; | 334 return effect_tree; |
| 332 } | 335 } |
| 333 EffectTree new_tree; | 336 EffectTree new_tree; |
| 334 proto::PropertyTree proto; | 337 proto::PropertyTree proto; |
| (...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 } | 830 } |
| 828 }; | 831 }; |
| 829 | 832 |
| 830 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 833 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
| 831 PropertyTreeTestComputeTransformWithSublayerScale); | 834 PropertyTreeTestComputeTransformWithSublayerScale); |
| 832 | 835 |
| 833 class PropertyTreeTestComputeTransformToTargetWithZeroSublayerScale | 836 class PropertyTreeTestComputeTransformToTargetWithZeroSublayerScale |
| 834 : public PropertyTreeTest { | 837 : public PropertyTreeTest { |
| 835 protected: | 838 protected: |
| 836 void StartTest() override { | 839 void StartTest() override { |
| 837 TransformTree tree; | 840 PropertyTrees property_trees; |
| 841 TransformTree tree = property_trees.transform_tree; |
| 838 TransformNode& root = *tree.Node(0); | 842 TransformNode& root = *tree.Node(0); |
| 839 root.data.target_id = 0; | 843 root.data.target_id = 0; |
| 840 tree.UpdateTransforms(0); | 844 tree.UpdateTransforms(0); |
| 841 | 845 |
| 842 TransformNode grand_parent; | 846 TransformNode grand_parent; |
| 843 grand_parent.data.local.Scale(2.f, 0.f); | 847 grand_parent.data.local.Scale(2.f, 0.f); |
| 844 grand_parent.data.target_id = 0; | 848 grand_parent.data.target_id = 0; |
| 845 grand_parent.data.source_node_id = 0; | 849 grand_parent.data.source_node_id = 0; |
| 846 grand_parent.data.needs_sublayer_scale = true; | 850 grand_parent.data.needs_sublayer_scale = true; |
| 847 int grand_parent_id = tree.Insert(grand_parent, 0); | 851 int grand_parent_id = tree.Insert(grand_parent, 0); |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1067 | 1071 |
| 1068 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( | 1072 DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F( |
| 1069 PropertyTreeTestSingularTransformSnapTest); | 1073 PropertyTreeTestSingularTransformSnapTest); |
| 1070 | 1074 |
| 1071 #undef DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F | 1075 #undef DIRECT_AND_SERIALIZED_PROPERTY_TREE_TEST_F |
| 1072 #undef SERIALIZED_PROPERTY_TREE_TEST_F | 1076 #undef SERIALIZED_PROPERTY_TREE_TEST_F |
| 1073 #undef DIRECT_PROPERTY_TREE_TEST_F | 1077 #undef DIRECT_PROPERTY_TREE_TEST_F |
| 1074 | 1078 |
| 1075 } // namespace | 1079 } // namespace |
| 1076 } // namespace cc | 1080 } // namespace cc |
| OLD | NEW |