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
3 // found in the LICENSE file.
5 #include "cc/test/layer_tree_host_common_test.h"
7 #include "cc/layers/layer.h"
8 #include "cc/layers/layer_impl.h"
9 #include "cc/trees/layer_tree_host_common.h"
13 LayerTreeHostCommonTestBase::LayerTreeHostCommonTestBase()
14 : render_surface_layer_list_count_(0) {
17 LayerTreeHostCommonTestBase::~LayerTreeHostCommonTestBase() {
20 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting(
22 const gfx::Transform
& transform
,
23 const gfx::Point3F
& transform_origin
,
24 const gfx::PointF
& position
,
25 const gfx::Size
& bounds
,
26 bool flatten_transform
,
28 SetLayerPropertiesForTestingInternal
<Layer
>(layer
,
37 void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting(
39 const gfx::Transform
& transform
,
40 const gfx::Point3F
& transform_origin
,
41 const gfx::PointF
& position
,
42 const gfx::Size
& bounds
,
43 bool flatten_transform
,
45 SetLayerPropertiesForTestingInternal
<LayerImpl
>(layer
,
52 layer
->SetContentBounds(bounds
);
55 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties(
57 float device_scale_factor
,
58 float page_scale_factor
,
59 Layer
* page_scale_application_layer
,
60 bool can_use_lcd_text
) {
61 EXPECT_TRUE(page_scale_application_layer
|| (page_scale_factor
== 1.f
));
62 gfx::Transform identity_matrix
;
63 gfx::Size device_viewport_size
=
64 gfx::Size(root_layer
->bounds().width() * device_scale_factor
,
65 root_layer
->bounds().height() * device_scale_factor
);
67 render_surface_layer_list_
.reset(new RenderSurfaceLayerList
);
69 // We are probably not testing what is intended if the root_layer bounds are
71 DCHECK(!root_layer
->bounds().IsEmpty());
72 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting
inputs(
73 root_layer
, device_viewport_size
, render_surface_layer_list_
.get());
74 inputs
.device_scale_factor
= device_scale_factor
;
75 inputs
.page_scale_factor
= page_scale_factor
;
76 inputs
.page_scale_application_layer
= page_scale_application_layer
;
77 inputs
.can_use_lcd_text
= can_use_lcd_text
;
78 inputs
.can_adjust_raster_scales
= true;
79 LayerTreeHostCommon::CalculateDrawProperties(&inputs
);
82 void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties(
83 LayerImpl
* root_layer
,
84 float device_scale_factor
,
85 float page_scale_factor
,
86 LayerImpl
* page_scale_application_layer
,
87 bool can_use_lcd_text
) {
88 gfx::Transform identity_matrix
;
89 gfx::Size device_viewport_size
=
90 gfx::Size(root_layer
->bounds().width() * device_scale_factor
,
91 root_layer
->bounds().height() * device_scale_factor
);
93 render_surface_layer_list_impl_
.reset(new LayerImplList
);
95 // We are probably not testing what is intended if the root_layer bounds are
97 DCHECK(!root_layer
->bounds().IsEmpty());
98 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting
inputs(
99 root_layer
, device_viewport_size
, render_surface_layer_list_impl_
.get());
100 inputs
.device_scale_factor
= device_scale_factor
;
101 inputs
.page_scale_factor
= page_scale_factor
;
102 inputs
.page_scale_application_layer
= page_scale_application_layer
;
103 inputs
.can_use_lcd_text
= can_use_lcd_text
;
104 inputs
.can_adjust_raster_scales
= true;
106 ++render_surface_layer_list_count_
;
107 inputs
.current_render_surface_layer_list_id
=
108 render_surface_layer_list_count_
;
110 LayerTreeHostCommon::CalculateDrawProperties(&inputs
);