| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/layers/layer_position_constraint.h" | 5 #include "cc/layers/layer_position_constraint.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "cc/layers/layer_impl.h" | 9 #include "cc/layers/layer_impl.h" |
| 10 #include "cc/test/fake_impl_proxy.h" | 10 #include "cc/test/fake_impl_proxy.h" |
| 11 #include "cc/test/fake_layer_tree_host_impl.h" | 11 #include "cc/test/fake_layer_tree_host_impl.h" |
| 12 #include "cc/test/geometry_test_utils.h" | 12 #include "cc/test/geometry_test_utils.h" |
| 13 #include "cc/test/test_shared_bitmap_manager.h" | 13 #include "cc/test/test_shared_bitmap_manager.h" |
| 14 #include "cc/trees/layer_tree_host_common.h" | 14 #include "cc/trees/layer_tree_host_common.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 16 | 16 |
| 17 namespace cc { | 17 namespace cc { |
| 18 namespace { | 18 namespace { |
| 19 | 19 |
| 20 void SetLayerPropertiesForTesting(LayerImpl* layer, | 20 void SetLayerPropertiesForTesting(LayerImpl* layer, |
| 21 const gfx::Transform& transform, | 21 const gfx::Transform& transform, |
| 22 const gfx::Point3F& transform_origin, | 22 const gfx::Point3F& transform_origin, |
| 23 const gfx::PointF& position, | 23 const gfx::PointF& position, |
| 24 const gfx::Size& bounds, | 24 const gfx::Size& bounds, |
| 25 bool flatten_transform, | 25 bool flatten_transform) { |
| 26 bool is_3d_sorted) { | |
| 27 layer->SetTransform(transform); | 26 layer->SetTransform(transform); |
| 28 layer->SetTransformOrigin(transform_origin); | 27 layer->SetTransformOrigin(transform_origin); |
| 29 layer->SetPosition(position); | 28 layer->SetPosition(position); |
| 30 layer->SetBounds(bounds); | 29 layer->SetBounds(bounds); |
| 31 layer->SetShouldFlattenTransform(flatten_transform); | 30 layer->SetShouldFlattenTransform(flatten_transform); |
| 32 layer->SetIs3dSorted(is_3d_sorted); | |
| 33 layer->SetContentBounds(bounds); | 31 layer->SetContentBounds(bounds); |
| 34 } | 32 } |
| 35 | 33 |
| 36 void ExecuteCalculateDrawProperties(LayerImpl* root_layer, | 34 void ExecuteCalculateDrawProperties(LayerImpl* root_layer, |
| 37 float device_scale_factor, | 35 float device_scale_factor, |
| 38 float page_scale_factor, | 36 float page_scale_factor, |
| 39 LayerImpl* page_scale_application_layer, | 37 LayerImpl* page_scale_application_layer, |
| 40 bool can_use_lcd_text) { | 38 bool can_use_lcd_text) { |
| 41 gfx::Transform identity_matrix; | 39 gfx::Transform identity_matrix; |
| 42 std::vector<LayerImpl*> dummy_render_surface_layer_list; | 40 std::vector<LayerImpl*> dummy_render_surface_layer_list; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 gfx::Transform IdentityMatrix; | 87 gfx::Transform IdentityMatrix; |
| 90 gfx::Point3F transform_origin; | 88 gfx::Point3F transform_origin; |
| 91 gfx::PointF position; | 89 gfx::PointF position; |
| 92 gfx::Size bounds(200, 200); | 90 gfx::Size bounds(200, 200); |
| 93 gfx::Size clip_bounds(100, 100); | 91 gfx::Size clip_bounds(100, 100); |
| 94 SetLayerPropertiesForTesting(scroll_layer.get(), | 92 SetLayerPropertiesForTesting(scroll_layer.get(), |
| 95 IdentityMatrix, | 93 IdentityMatrix, |
| 96 transform_origin, | 94 transform_origin, |
| 97 position, | 95 position, |
| 98 bounds, | 96 bounds, |
| 99 true, | 97 true); |
| 100 false); | 98 SetLayerPropertiesForTesting( |
| 101 SetLayerPropertiesForTesting(child.get(), | 99 child.get(), IdentityMatrix, transform_origin, position, bounds, true); |
| 102 IdentityMatrix, | |
| 103 transform_origin, | |
| 104 position, | |
| 105 bounds, | |
| 106 true, | |
| 107 false); | |
| 108 SetLayerPropertiesForTesting(grand_child.get(), | 100 SetLayerPropertiesForTesting(grand_child.get(), |
| 109 IdentityMatrix, | 101 IdentityMatrix, |
| 110 transform_origin, | 102 transform_origin, |
| 111 position, | 103 position, |
| 112 bounds, | 104 bounds, |
| 113 true, | 105 true); |
| 114 false); | |
| 115 SetLayerPropertiesForTesting(great_grand_child.get(), | 106 SetLayerPropertiesForTesting(great_grand_child.get(), |
| 116 IdentityMatrix, | 107 IdentityMatrix, |
| 117 transform_origin, | 108 transform_origin, |
| 118 position, | 109 position, |
| 119 bounds, | 110 bounds, |
| 120 true, | 111 true); |
| 121 false); | |
| 122 | 112 |
| 123 root->SetBounds(clip_bounds); | 113 root->SetBounds(clip_bounds); |
| 124 scroll_layer->SetScrollClipLayer(root->id()); | 114 scroll_layer->SetScrollClipLayer(root->id()); |
| 125 child->SetScrollClipLayer(root->id()); | 115 child->SetScrollClipLayer(root->id()); |
| 126 grand_child->SetScrollClipLayer(root->id()); | 116 grand_child->SetScrollClipLayer(root->id()); |
| 127 | 117 |
| 128 grand_child->AddChild(great_grand_child.Pass()); | 118 grand_child->AddChild(great_grand_child.Pass()); |
| 129 child->AddChild(grand_child.Pass()); | 119 child->AddChild(grand_child.Pass()); |
| 130 scroll_layer->AddChild(child.Pass()); | 120 scroll_layer->AddChild(child.Pass()); |
| 131 root->AddChild(scroll_layer.Pass()); | 121 root->AddChild(scroll_layer.Pass()); |
| (...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 737 // Add one more layer to the test tree for this scenario. | 727 // Add one more layer to the test tree for this scenario. |
| 738 { | 728 { |
| 739 gfx::Transform identity; | 729 gfx::Transform identity; |
| 740 scoped_ptr<LayerImpl> fixed_position_child = | 730 scoped_ptr<LayerImpl> fixed_position_child = |
| 741 LayerImpl::Create(host_impl_.active_tree(), 5); | 731 LayerImpl::Create(host_impl_.active_tree(), 5); |
| 742 SetLayerPropertiesForTesting(fixed_position_child.get(), | 732 SetLayerPropertiesForTesting(fixed_position_child.get(), |
| 743 identity, | 733 identity, |
| 744 gfx::Point3F(), | 734 gfx::Point3F(), |
| 745 gfx::PointF(), | 735 gfx::PointF(), |
| 746 gfx::Size(100, 100), | 736 gfx::Size(100, 100), |
| 747 true, | 737 true); |
| 748 false); | |
| 749 great_grand_child->AddChild(fixed_position_child.Pass()); | 738 great_grand_child->AddChild(fixed_position_child.Pass()); |
| 750 } | 739 } |
| 751 LayerImpl* fixed_position_child = great_grand_child->children()[0]; | 740 LayerImpl* fixed_position_child = great_grand_child->children()[0]; |
| 752 | 741 |
| 753 // Actually set up the scenario here. | 742 // Actually set up the scenario here. |
| 754 child->SetIsContainerForFixedPositionLayers(true); | 743 child->SetIsContainerForFixedPositionLayers(true); |
| 755 grand_child->SetPosition(gfx::PointF(8.f, 6.f)); | 744 grand_child->SetPosition(gfx::PointF(8.f, 6.f)); |
| 756 grand_child->SetForceRenderSurface(true); | 745 grand_child->SetForceRenderSurface(true); |
| 757 great_grand_child->SetPosition(gfx::PointF(40.f, 60.f)); | 746 great_grand_child->SetPosition(gfx::PointF(40.f, 60.f)); |
| 758 great_grand_child->SetForceRenderSurface(true); | 747 great_grand_child->SetForceRenderSurface(true); |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1163 fixed_to_container1->draw_transform()); | 1152 fixed_to_container1->draw_transform()); |
| 1164 | 1153 |
| 1165 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_container2_transform, | 1154 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_container2_transform, |
| 1166 container2->draw_transform()); | 1155 container2->draw_transform()); |
| 1167 | 1156 |
| 1168 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_to_container2_transform, | 1157 EXPECT_TRANSFORMATION_MATRIX_EQ(expected_fixed_to_container2_transform, |
| 1169 fixed_to_container2->draw_transform()); | 1158 fixed_to_container2->draw_transform()); |
| 1170 } | 1159 } |
| 1171 } // namespace | 1160 } // namespace |
| 1172 } // namespace cc | 1161 } // namespace cc |
| OLD | NEW |