| 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 float page_scale_factor = 1.f; | 106 float page_scale_factor = 1.f; |
| 98 float device_scale_factor = 1.f; | 107 float device_scale_factor = 1.f; |
| 99 gfx::Size device_viewport_size = | 108 gfx::Size device_viewport_size = |
| 100 gfx::Size(root_layer->bounds().width() * device_scale_factor, | 109 gfx::Size(root_layer->bounds().width() * device_scale_factor, |
| 101 root_layer->bounds().height() * device_scale_factor); | 110 root_layer->bounds().height() * device_scale_factor); |
| 102 BuildPropertyTreesAndComputeVisibleRects( | 111 BuildPropertyTreesAndComputeVisibleRects( |
| 103 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 112 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 104 outer_viewport_scroll_layer, page_scale_factor, device_scale_factor, | 113 outer_viewport_scroll_layer, page_scale_factor, device_scale_factor, |
| 105 gfx::Rect(device_viewport_size), identity_transform, | 114 gfx::Rect(device_viewport_size), identity_transform, |
| 106 can_render_to_separate_surface, | 115 can_render_to_separate_surface, |
| 107 root_layer->layer_tree_host()->property_trees(), &update_layer_list_); | 116 root_layer->layer_tree_host()->property_trees(), &update_layer_list_); |
| 108 } | 117 } |
| 109 | 118 |
| 110 void LayerTreeHostCommonTestBase:: | 119 void LayerTreeHostCommonTestBase:: |
| 111 ExecuteCalculateDrawPropertiesWithPropertyTrees(LayerImpl* root_layer) { | 120 ExecuteCalculateDrawPropertiesWithPropertyTrees(LayerImpl* root_layer) { |
| 112 DCHECK(root_layer->layer_tree_impl()); | 121 DCHECK(root_layer->layer_tree_impl()); |
| 113 LayerTreeHostCommon::PreCalculateMetaInformationForTesting(root_layer); | 122 LayerTreeHostCommon::PreCalculateMetaInformationForTesting(root_layer); |
| 114 | 123 |
| 115 gfx::Transform identity_transform; | 124 gfx::Transform identity_transform; |
| 125 |
| 116 bool can_render_to_separate_surface = true; | 126 bool can_render_to_separate_surface = true; |
| 127 |
| 117 LayerImpl* page_scale_layer = nullptr; | 128 LayerImpl* page_scale_layer = nullptr; |
| 118 LayerImpl* inner_viewport_scroll_layer = | 129 LayerImpl* inner_viewport_scroll_layer = |
| 119 root_layer->layer_tree_impl()->InnerViewportScrollLayer(); | 130 root_layer->layer_tree_impl()->InnerViewportScrollLayer(); |
| 120 LayerImpl* outer_viewport_scroll_layer = | 131 LayerImpl* outer_viewport_scroll_layer = |
| 121 root_layer->layer_tree_impl()->OuterViewportScrollLayer(); | 132 root_layer->layer_tree_impl()->OuterViewportScrollLayer(); |
| 122 float page_scale_factor = 1.f; | 133 float page_scale_factor = 1.f; |
| 123 float device_scale_factor = 1.f; | 134 float device_scale_factor = 1.f; |
| 124 gfx::Size device_viewport_size = | 135 gfx::Size device_viewport_size = |
| 125 gfx::Size(root_layer->bounds().width() * device_scale_factor, | 136 gfx::Size(root_layer->bounds().width() * device_scale_factor, |
| 126 root_layer->bounds().height() * device_scale_factor); | 137 root_layer->bounds().height() * device_scale_factor); |
| 127 std::vector<LayerImpl*> update_layer_list; | 138 update_layer_list_impl_.reset(new LayerImplList); |
| 128 BuildPropertyTreesAndComputeVisibleRects( | 139 BuildPropertyTreesAndComputeVisibleRects( |
| 129 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 140 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 130 outer_viewport_scroll_layer, page_scale_factor, device_scale_factor, | 141 outer_viewport_scroll_layer, page_scale_factor, device_scale_factor, |
| 131 gfx::Rect(device_viewport_size), identity_transform, | 142 gfx::Rect(device_viewport_size), identity_transform, |
| 132 can_render_to_separate_surface, | 143 can_render_to_separate_surface, |
| 133 root_layer->layer_tree_impl()->property_trees(), &update_layer_list); | 144 root_layer->layer_tree_impl()->property_trees(), |
| 145 update_layer_list_impl_.get()); |
| 134 } | 146 } |
| 135 | 147 |
| 136 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( | 148 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( |
| 137 LayerImpl* root_layer, | 149 LayerImpl* root_layer, |
| 138 float device_scale_factor, | 150 float device_scale_factor, |
| 139 float page_scale_factor, | 151 float page_scale_factor, |
| 140 LayerImpl* page_scale_layer, | 152 LayerImpl* page_scale_layer, |
| 141 bool can_use_lcd_text, | 153 bool can_use_lcd_text, |
| 142 bool layers_always_allowed_lcd_text) { | 154 bool layers_always_allowed_lcd_text) { |
| 143 host_impl()->active_tree()->SetDeviceScaleFactor(device_scale_factor); | 155 host_impl()->active_tree()->SetDeviceScaleFactor(device_scale_factor); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 LayerTreeHostCommonTest::LayerTreeHostCommonTest() | 215 LayerTreeHostCommonTest::LayerTreeHostCommonTest() |
| 204 : LayerTreeHostCommonTestBase(LayerTreeSettings()) { | 216 : LayerTreeHostCommonTestBase(LayerTreeSettings()) { |
| 205 } | 217 } |
| 206 | 218 |
| 207 LayerTreeHostCommonTest::LayerTreeHostCommonTest( | 219 LayerTreeHostCommonTest::LayerTreeHostCommonTest( |
| 208 const LayerTreeSettings& settings) | 220 const LayerTreeSettings& settings) |
| 209 : LayerTreeHostCommonTestBase(settings) { | 221 : LayerTreeHostCommonTestBase(settings) { |
| 210 } | 222 } |
| 211 | 223 |
| 212 } // namespace cc | 224 } // namespace cc |
| OLD | NEW |