| 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/test/layer_tree_host_common_test.h" | 5 #include "cc/test/layer_tree_host_common_test.h" |
| 6 | 6 |
| 7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
| 8 #include "cc/layers/layer_impl.h" | 8 #include "cc/layers/layer_impl.h" |
| 9 #include "cc/test/fake_layer_tree_host.h" | 9 #include "cc/test/fake_layer_tree_host.h" |
| 10 #include "cc/trees/draw_property_utils.h" | 10 #include "cc/trees/draw_property_utils.h" |
| 11 #include "cc/trees/layer_tree_host_common.h" | 11 #include "cc/trees/layer_tree_host_common.h" |
| 12 | 12 |
| 13 namespace cc { | 13 namespace cc { |
| 14 | |
| 15 LayerTreeHostCommonTestBase::LayerTreeHostCommonTestBase( | 14 LayerTreeHostCommonTestBase::LayerTreeHostCommonTestBase( |
| 16 const LayerTreeSettings& settings) | 15 const LayerTreeSettings& settings) |
| 17 : LayerTestCommon::LayerImplTest(settings), | 16 : LayerTestCommon::LayerImplTest(settings), |
| 18 render_surface_layer_list_count_(0) { | 17 render_surface_layer_list_count_(0) { |
| 19 } | 18 } |
| 20 | 19 |
| 21 LayerTreeHostCommonTestBase::~LayerTreeHostCommonTestBase() { | 20 LayerTreeHostCommonTestBase::~LayerTreeHostCommonTestBase() { |
| 22 } | 21 } |
| 23 | 22 |
| 24 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( | 23 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( |
| 25 Layer* layer, | 24 Layer* layer, |
| 26 const gfx::Transform& transform, | 25 const gfx::Transform& transform, |
| 27 const gfx::Point3F& transform_origin, | 26 const gfx::Point3F& transform_origin, |
| 28 const gfx::PointF& position, | 27 const gfx::PointF& position, |
| 29 const gfx::Size& bounds, | 28 const gfx::Size& bounds, |
| 30 bool flatten_transform, | 29 bool flatten_transform, |
| 31 bool is_3d_sorted) { | 30 bool is_3d_sorted) { |
| 32 SetLayerPropertiesForTestingInternal(layer, transform, transform_origin, | 31 SetLayerPropertiesForTestingInternal(layer, transform, transform_origin, |
| 33 position, bounds, flatten_transform, | 32 position, bounds, flatten_transform, |
| 34 is_3d_sorted); | 33 is_3d_sorted); |
| 35 } | 34 } |
| 36 | 35 |
| 37 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( | 36 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( |
| 38 LayerImpl* layer, | 37 LayerImpl* layer, |
| 39 const gfx::Transform& transform, | 38 const gfx::Transform& transform, |
| 40 const gfx::Point3F& transform_origin, | 39 const gfx::Point3F& transform_origin, |
| 41 const gfx::PointF& position, | 40 const gfx::PointF& position, |
| 42 const gfx::Size& bounds, | 41 const gfx::Size& bounds, |
| 43 bool flatten_transform, | 42 bool flatten_transform, |
| 43 bool is_3d_sorted) { |
| 44 SetLayerPropertiesForTestingInternal(layer, transform, transform_origin, |
| 45 position, bounds, flatten_transform, |
| 46 is_3d_sorted); |
| 47 } |
| 48 |
| 49 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( |
| 50 LayerImpl* layer, |
| 51 const gfx::Transform& transform, |
| 52 const gfx::Point3F& transform_origin, |
| 53 const gfx::PointF& position, |
| 54 const gfx::Size& bounds, |
| 55 bool flatten_transform, |
| 44 bool is_3d_sorted, | 56 bool is_3d_sorted, |
| 45 bool create_render_surface) { | 57 bool create_render_surface) { |
| 46 SetLayerPropertiesForTestingInternal(layer, transform, transform_origin, | 58 SetLayerPropertiesForTestingInternal(layer, transform, transform_origin, |
| 47 position, bounds, flatten_transform, | 59 position, bounds, flatten_transform, |
| 48 is_3d_sorted); | 60 is_3d_sorted); |
| 49 if (create_render_surface) { | 61 if (create_render_surface) { |
| 50 layer->SetHasRenderSurface(true); | 62 layer->SetForceRenderSurface(true); |
| 51 } | 63 } |
| 52 } | 64 } |
| 53 | 65 |
| 54 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( | 66 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( |
| 55 Layer* root_layer, | 67 Layer* root_layer, |
| 56 float device_scale_factor, | 68 float device_scale_factor, |
| 57 float page_scale_factor, | 69 float page_scale_factor, |
| 58 Layer* page_scale_layer, | 70 Layer* page_scale_layer, |
| 59 bool can_use_lcd_text, | 71 bool can_use_lcd_text, |
| 60 bool layers_always_allowed_lcd_text) { | 72 bool layers_always_allowed_lcd_text) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 76 inputs.page_scale_layer = page_scale_layer; | 88 inputs.page_scale_layer = page_scale_layer; |
| 77 LayerTreeHostCommon::CalculateDrawProperties(&inputs); | 89 LayerTreeHostCommon::CalculateDrawProperties(&inputs); |
| 78 } | 90 } |
| 79 | 91 |
| 80 void LayerTreeHostCommonTestBase:: | 92 void LayerTreeHostCommonTestBase:: |
| 81 ExecuteCalculateDrawPropertiesWithPropertyTrees(Layer* root_layer) { | 93 ExecuteCalculateDrawPropertiesWithPropertyTrees(Layer* root_layer) { |
| 82 DCHECK(root_layer->layer_tree_host()); | 94 DCHECK(root_layer->layer_tree_host()); |
| 83 LayerTreeHostCommon::PreCalculateMetaInformation(root_layer); | 95 LayerTreeHostCommon::PreCalculateMetaInformation(root_layer); |
| 84 | 96 |
| 85 gfx::Transform identity_transform; | 97 gfx::Transform identity_transform; |
| 86 bool preserves_2d_axis_alignment = false; | 98 |
| 87 bool can_render_to_separate_surface = true; | 99 bool can_render_to_separate_surface = true; |
| 88 LayerTreeHostCommon::UpdateRenderSurfaces( | |
| 89 root_layer, can_render_to_separate_surface, identity_transform, | |
| 90 preserves_2d_axis_alignment); | |
| 91 | 100 |
| 92 Layer* page_scale_layer = nullptr; | 101 Layer* page_scale_layer = nullptr; |
| 93 Layer* inner_viewport_scroll_layer = | 102 Layer* inner_viewport_scroll_layer = |
| 94 root_layer->layer_tree_host()->inner_viewport_scroll_layer(); | 103 root_layer->layer_tree_host()->inner_viewport_scroll_layer(); |
| 95 Layer* outer_viewport_scroll_layer = | 104 Layer* outer_viewport_scroll_layer = |
| 96 root_layer->layer_tree_host()->outer_viewport_scroll_layer(); | 105 root_layer->layer_tree_host()->outer_viewport_scroll_layer(); |
| 97 const Layer* overscroll_elasticity_layer = | 106 const Layer* overscroll_elasticity_layer = |
| 98 root_layer->layer_tree_host()->overscroll_elasticity_layer(); | 107 root_layer->layer_tree_host()->overscroll_elasticity_layer(); |
| 99 gfx::Vector2dF elastic_overscroll = | 108 gfx::Vector2dF elastic_overscroll = |
| 100 root_layer->layer_tree_host()->elastic_overscroll(); | 109 root_layer->layer_tree_host()->elastic_overscroll(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 111 can_render_to_separate_surface, | 120 can_render_to_separate_surface, |
| 112 root_layer->layer_tree_host()->property_trees(), &update_layer_list_); | 121 root_layer->layer_tree_host()->property_trees(), &update_layer_list_); |
| 113 } | 122 } |
| 114 | 123 |
| 115 void LayerTreeHostCommonTestBase:: | 124 void LayerTreeHostCommonTestBase:: |
| 116 ExecuteCalculateDrawPropertiesWithPropertyTrees(LayerImpl* root_layer) { | 125 ExecuteCalculateDrawPropertiesWithPropertyTrees(LayerImpl* root_layer) { |
| 117 DCHECK(root_layer->layer_tree_impl()); | 126 DCHECK(root_layer->layer_tree_impl()); |
| 118 LayerTreeHostCommon::PreCalculateMetaInformationForTesting(root_layer); | 127 LayerTreeHostCommon::PreCalculateMetaInformationForTesting(root_layer); |
| 119 | 128 |
| 120 gfx::Transform identity_transform; | 129 gfx::Transform identity_transform; |
| 130 |
| 121 bool can_render_to_separate_surface = true; | 131 bool can_render_to_separate_surface = true; |
| 132 |
| 122 LayerImpl* page_scale_layer = nullptr; | 133 LayerImpl* page_scale_layer = nullptr; |
| 123 LayerImpl* inner_viewport_scroll_layer = | 134 LayerImpl* inner_viewport_scroll_layer = |
| 124 root_layer->layer_tree_impl()->InnerViewportScrollLayer(); | 135 root_layer->layer_tree_impl()->InnerViewportScrollLayer(); |
| 125 LayerImpl* outer_viewport_scroll_layer = | 136 LayerImpl* outer_viewport_scroll_layer = |
| 126 root_layer->layer_tree_impl()->OuterViewportScrollLayer(); | 137 root_layer->layer_tree_impl()->OuterViewportScrollLayer(); |
| 127 LayerImpl* overscroll_elasticity_layer = | 138 LayerImpl* overscroll_elasticity_layer = |
| 128 root_layer->layer_tree_impl()->OverscrollElasticityLayer(); | 139 root_layer->layer_tree_impl()->OverscrollElasticityLayer(); |
| 129 gfx::Vector2dF elastic_overscroll = | 140 gfx::Vector2dF elastic_overscroll = |
| 130 root_layer->layer_tree_impl()->elastic_overscroll()->Current( | 141 root_layer->layer_tree_impl()->elastic_overscroll()->Current( |
| 131 root_layer->layer_tree_impl()->IsActiveTree()); | 142 root_layer->layer_tree_impl()->IsActiveTree()); |
| 132 float page_scale_factor = 1.f; | 143 float page_scale_factor = 1.f; |
| 133 float device_scale_factor = 1.f; | 144 float device_scale_factor = 1.f; |
| 134 gfx::Size device_viewport_size = | 145 gfx::Size device_viewport_size = |
| 135 gfx::Size(root_layer->bounds().width() * device_scale_factor, | 146 gfx::Size(root_layer->bounds().width() * device_scale_factor, |
| 136 root_layer->bounds().height() * device_scale_factor); | 147 root_layer->bounds().height() * device_scale_factor); |
| 137 std::vector<LayerImpl*> update_layer_list; | 148 update_layer_list_impl_.reset(new LayerImplList); |
| 138 BuildPropertyTreesAndComputeVisibleRects( | 149 BuildPropertyTreesAndComputeVisibleRects( |
| 139 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 150 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 140 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 151 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 141 elastic_overscroll, page_scale_factor, device_scale_factor, | 152 elastic_overscroll, page_scale_factor, device_scale_factor, |
| 142 gfx::Rect(device_viewport_size), identity_transform, | 153 gfx::Rect(device_viewport_size), identity_transform, |
| 143 can_render_to_separate_surface, | 154 can_render_to_separate_surface, |
| 144 root_layer->layer_tree_impl()->property_trees(), &update_layer_list); | 155 root_layer->layer_tree_impl()->property_trees(), |
| 156 update_layer_list_impl_.get()); |
| 145 } | 157 } |
| 146 | 158 |
| 147 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( | 159 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( |
| 148 LayerImpl* root_layer, | 160 LayerImpl* root_layer, |
| 149 float device_scale_factor, | 161 float device_scale_factor, |
| 150 float page_scale_factor, | 162 float page_scale_factor, |
| 151 LayerImpl* page_scale_layer, | 163 LayerImpl* page_scale_layer, |
| 152 bool can_use_lcd_text, | 164 bool can_use_lcd_text, |
| 153 bool layers_always_allowed_lcd_text) { | 165 bool layers_always_allowed_lcd_text) { |
| 154 host_impl()->active_tree()->SetDeviceScaleFactor(device_scale_factor); | 166 host_impl()->active_tree()->SetDeviceScaleFactor(device_scale_factor); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 LayerTreeHostCommonTest::LayerTreeHostCommonTest() | 226 LayerTreeHostCommonTest::LayerTreeHostCommonTest() |
| 215 : LayerTreeHostCommonTestBase(LayerTreeSettings()) { | 227 : LayerTreeHostCommonTestBase(LayerTreeSettings()) { |
| 216 } | 228 } |
| 217 | 229 |
| 218 LayerTreeHostCommonTest::LayerTreeHostCommonTest( | 230 LayerTreeHostCommonTest::LayerTreeHostCommonTest( |
| 219 const LayerTreeSettings& settings) | 231 const LayerTreeSettings& settings) |
| 220 : LayerTreeHostCommonTestBase(settings) { | 232 : LayerTreeHostCommonTestBase(settings) { |
| 221 } | 233 } |
| 222 | 234 |
| 223 } // namespace cc | 235 } // namespace cc |
| OLD | NEW |