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 |