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 |