Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Side by Side Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 634683003: Converted LayerImpl::bounds() to return SizeF. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/damage_tracker_unittest.cc ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/layer_tree_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "cc/animation/layer_animation_controller.h" 9 #include "cc/animation/layer_animation_controller.h"
10 #include "cc/animation/transform_operations.h" 10 #include "cc/animation/transform_operations.h"
(...skipping 12 matching lines...) Expand all
23 #include "cc/test/fake_impl_proxy.h" 23 #include "cc/test/fake_impl_proxy.h"
24 #include "cc/test/fake_layer_tree_host.h" 24 #include "cc/test/fake_layer_tree_host.h"
25 #include "cc/test/fake_layer_tree_host_impl.h" 25 #include "cc/test/fake_layer_tree_host_impl.h"
26 #include "cc/test/geometry_test_utils.h" 26 #include "cc/test/geometry_test_utils.h"
27 #include "cc/test/layer_tree_host_common_test.h" 27 #include "cc/test/layer_tree_host_common_test.h"
28 #include "cc/trees/layer_tree_impl.h" 28 #include "cc/trees/layer_tree_impl.h"
29 #include "cc/trees/proxy.h" 29 #include "cc/trees/proxy.h"
30 #include "cc/trees/single_thread_proxy.h" 30 #include "cc/trees/single_thread_proxy.h"
31 #include "testing/gmock/include/gmock/gmock.h" 31 #include "testing/gmock/include/gmock/gmock.h"
32 #include "testing/gtest/include/gtest/gtest.h" 32 #include "testing/gtest/include/gtest/gtest.h"
33 #include "ui/gfx/geometry/size_conversions.h"
33 #include "ui/gfx/quad_f.h" 34 #include "ui/gfx/quad_f.h"
34 #include "ui/gfx/transform.h" 35 #include "ui/gfx/transform.h"
35 36
36 namespace cc { 37 namespace cc {
37 namespace { 38 namespace {
38 39
39 class LayerWithForcedDrawsContent : public Layer { 40 class LayerWithForcedDrawsContent : public Layer {
40 public: 41 public:
41 LayerWithForcedDrawsContent() {} 42 LayerWithForcedDrawsContent() {}
42 43
(...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1151 gfx::PointF(), 1152 gfx::PointF(),
1152 gfx::Size(20, 20), 1153 gfx::Size(20, 20),
1153 true, 1154 true,
1154 false); 1155 false);
1155 1156
1156 gfx::Transform translate; 1157 gfx::Transform translate;
1157 translate.Translate(50, 50); 1158 translate.Translate(50, 50);
1158 { 1159 {
1159 RenderSurfaceLayerList render_surface_layer_list; 1160 RenderSurfaceLayerList render_surface_layer_list;
1160 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1161 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1161 root.get(), root->bounds(), translate, &render_surface_layer_list); 1162 root.get(),
1163 gfx::ToCeiledSize(root->bounds()),
1164 translate,
1165 &render_surface_layer_list);
1162 inputs.can_adjust_raster_scales = true; 1166 inputs.can_adjust_raster_scales = true;
1163 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1167 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1164 EXPECT_EQ(translate, root->draw_properties().target_space_transform); 1168 EXPECT_EQ(translate, root->draw_properties().target_space_transform);
1165 EXPECT_EQ(translate, child->draw_properties().target_space_transform); 1169 EXPECT_EQ(translate, child->draw_properties().target_space_transform);
1166 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1170 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1167 EXPECT_EQ(1.f, root->draw_properties().device_scale_factor); 1171 EXPECT_EQ(1.f, root->draw_properties().device_scale_factor);
1168 EXPECT_EQ(1.f, child->draw_properties().device_scale_factor); 1172 EXPECT_EQ(1.f, child->draw_properties().device_scale_factor);
1169 } 1173 }
1170 1174
1171 gfx::Transform scale; 1175 gfx::Transform scale;
1172 scale.Scale(2, 2); 1176 scale.Scale(2, 2);
1173 { 1177 {
1174 RenderSurfaceLayerList render_surface_layer_list; 1178 RenderSurfaceLayerList render_surface_layer_list;
1175 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1179 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1176 root.get(), root->bounds(), scale, &render_surface_layer_list); 1180 root.get(),
1181 gfx::ToCeiledSize(root->bounds()),
1182 scale,
1183 &render_surface_layer_list);
1177 inputs.can_adjust_raster_scales = true; 1184 inputs.can_adjust_raster_scales = true;
1178 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1185 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1179 EXPECT_EQ(scale, root->draw_properties().target_space_transform); 1186 EXPECT_EQ(scale, root->draw_properties().target_space_transform);
1180 EXPECT_EQ(scale, child->draw_properties().target_space_transform); 1187 EXPECT_EQ(scale, child->draw_properties().target_space_transform);
1181 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1188 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1182 EXPECT_EQ(2.f, root->draw_properties().device_scale_factor); 1189 EXPECT_EQ(2.f, root->draw_properties().device_scale_factor);
1183 EXPECT_EQ(2.f, child->draw_properties().device_scale_factor); 1190 EXPECT_EQ(2.f, child->draw_properties().device_scale_factor);
1184 } 1191 }
1185 1192
1186 gfx::Transform rotate; 1193 gfx::Transform rotate;
1187 rotate.Rotate(2); 1194 rotate.Rotate(2);
1188 { 1195 {
1189 RenderSurfaceLayerList render_surface_layer_list; 1196 RenderSurfaceLayerList render_surface_layer_list;
1190 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1197 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1191 root.get(), root->bounds(), rotate, &render_surface_layer_list); 1198 root.get(),
1199 gfx::ToCeiledSize(root->bounds()),
1200 rotate,
1201 &render_surface_layer_list);
1192 inputs.can_adjust_raster_scales = true; 1202 inputs.can_adjust_raster_scales = true;
1193 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1203 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1194 EXPECT_EQ(rotate, root->draw_properties().target_space_transform); 1204 EXPECT_EQ(rotate, root->draw_properties().target_space_transform);
1195 EXPECT_EQ(rotate, child->draw_properties().target_space_transform); 1205 EXPECT_EQ(rotate, child->draw_properties().target_space_transform);
1196 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1206 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1197 EXPECT_EQ(1.f, root->draw_properties().device_scale_factor); 1207 EXPECT_EQ(1.f, root->draw_properties().device_scale_factor);
1198 EXPECT_EQ(1.f, child->draw_properties().device_scale_factor); 1208 EXPECT_EQ(1.f, child->draw_properties().device_scale_factor);
1199 } 1209 }
1200 1210
1201 gfx::Transform composite; 1211 gfx::Transform composite;
1202 composite.ConcatTransform(translate); 1212 composite.ConcatTransform(translate);
1203 composite.ConcatTransform(scale); 1213 composite.ConcatTransform(scale);
1204 composite.ConcatTransform(rotate); 1214 composite.ConcatTransform(rotate);
1205 { 1215 {
1206 RenderSurfaceLayerList render_surface_layer_list; 1216 RenderSurfaceLayerList render_surface_layer_list;
1207 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1217 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1208 root.get(), root->bounds(), composite, &render_surface_layer_list); 1218 root.get(),
1219 gfx::ToCeiledSize(root->bounds()),
1220 composite,
1221 &render_surface_layer_list);
1209 inputs.can_adjust_raster_scales = true; 1222 inputs.can_adjust_raster_scales = true;
1210 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1223 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1211 EXPECT_EQ(composite, root->draw_properties().target_space_transform); 1224 EXPECT_EQ(composite, root->draw_properties().target_space_transform);
1212 EXPECT_EQ(composite, child->draw_properties().target_space_transform); 1225 EXPECT_EQ(composite, child->draw_properties().target_space_transform);
1213 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1226 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1214 } 1227 }
1215 1228
1216 // Verify it composes correctly with device scale. 1229 // Verify it composes correctly with device scale.
1217 float device_scale_factor = 1.5f; 1230 float device_scale_factor = 1.5f;
1218 1231
1219 { 1232 {
1220 RenderSurfaceLayerList render_surface_layer_list; 1233 RenderSurfaceLayerList render_surface_layer_list;
1221 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1234 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1222 root.get(), root->bounds(), translate, &render_surface_layer_list); 1235 root.get(),
1236 gfx::ToCeiledSize(root->bounds()),
1237 translate,
1238 &render_surface_layer_list);
1223 inputs.device_scale_factor = device_scale_factor; 1239 inputs.device_scale_factor = device_scale_factor;
1224 inputs.can_adjust_raster_scales = true; 1240 inputs.can_adjust_raster_scales = true;
1225 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1241 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1226 gfx::Transform device_scaled_translate = translate; 1242 gfx::Transform device_scaled_translate = translate;
1227 device_scaled_translate.Scale(device_scale_factor, device_scale_factor); 1243 device_scaled_translate.Scale(device_scale_factor, device_scale_factor);
1228 EXPECT_EQ(device_scaled_translate, 1244 EXPECT_EQ(device_scaled_translate,
1229 root->draw_properties().target_space_transform); 1245 root->draw_properties().target_space_transform);
1230 EXPECT_EQ(device_scaled_translate, 1246 EXPECT_EQ(device_scaled_translate,
1231 child->draw_properties().target_space_transform); 1247 child->draw_properties().target_space_transform);
1232 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1248 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1233 EXPECT_EQ(device_scale_factor, root->draw_properties().device_scale_factor); 1249 EXPECT_EQ(device_scale_factor, root->draw_properties().device_scale_factor);
1234 EXPECT_EQ(device_scale_factor, 1250 EXPECT_EQ(device_scale_factor,
1235 child->draw_properties().device_scale_factor); 1251 child->draw_properties().device_scale_factor);
1236 } 1252 }
1237 1253
1238 // Verify it composes correctly with page scale. 1254 // Verify it composes correctly with page scale.
1239 float page_scale_factor = 2.f; 1255 float page_scale_factor = 2.f;
1240 1256
1241 { 1257 {
1242 RenderSurfaceLayerList render_surface_layer_list; 1258 RenderSurfaceLayerList render_surface_layer_list;
1243 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1259 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1244 root.get(), root->bounds(), translate, &render_surface_layer_list); 1260 root.get(),
1261 gfx::ToCeiledSize(root->bounds()),
1262 translate,
1263 &render_surface_layer_list);
1245 inputs.page_scale_factor = page_scale_factor; 1264 inputs.page_scale_factor = page_scale_factor;
1246 inputs.page_scale_application_layer = root.get(); 1265 inputs.page_scale_application_layer = root.get();
1247 inputs.can_adjust_raster_scales = true; 1266 inputs.can_adjust_raster_scales = true;
1248 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1267 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1249 gfx::Transform page_scaled_translate = translate; 1268 gfx::Transform page_scaled_translate = translate;
1250 page_scaled_translate.Scale(page_scale_factor, page_scale_factor); 1269 page_scaled_translate.Scale(page_scale_factor, page_scale_factor);
1251 EXPECT_EQ(translate, root->draw_properties().target_space_transform); 1270 EXPECT_EQ(translate, root->draw_properties().target_space_transform);
1252 EXPECT_EQ(page_scaled_translate, 1271 EXPECT_EQ(page_scaled_translate,
1253 child->draw_properties().target_space_transform); 1272 child->draw_properties().target_space_transform);
1254 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1273 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1255 EXPECT_EQ(1.f, root->draw_properties().device_scale_factor); 1274 EXPECT_EQ(1.f, root->draw_properties().device_scale_factor);
1256 EXPECT_EQ(1.f, child->draw_properties().device_scale_factor); 1275 EXPECT_EQ(1.f, child->draw_properties().device_scale_factor);
1257 } 1276 }
1258 1277
1259 // Verify that it composes correctly with transforms directly on root layer. 1278 // Verify that it composes correctly with transforms directly on root layer.
1260 root->SetTransform(composite); 1279 root->SetTransform(composite);
1261 1280
1262 { 1281 {
1263 RenderSurfaceLayerList render_surface_layer_list; 1282 RenderSurfaceLayerList render_surface_layer_list;
1264 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 1283 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
1265 root.get(), root->bounds(), composite, &render_surface_layer_list); 1284 root.get(),
1285 gfx::ToCeiledSize(root->bounds()),
1286 composite,
1287 &render_surface_layer_list);
1266 inputs.can_adjust_raster_scales = true; 1288 inputs.can_adjust_raster_scales = true;
1267 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 1289 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
1268 gfx::Transform compositeSquared = composite; 1290 gfx::Transform compositeSquared = composite;
1269 compositeSquared.ConcatTransform(composite); 1291 compositeSquared.ConcatTransform(composite);
1270 EXPECT_TRANSFORMATION_MATRIX_EQ( 1292 EXPECT_TRANSFORMATION_MATRIX_EQ(
1271 compositeSquared, root->draw_properties().target_space_transform); 1293 compositeSquared, root->draw_properties().target_space_transform);
1272 EXPECT_TRANSFORMATION_MATRIX_EQ( 1294 EXPECT_TRANSFORMATION_MATRIX_EQ(
1273 compositeSquared, child->draw_properties().target_space_transform); 1295 compositeSquared, child->draw_properties().target_space_transform);
1274 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform()); 1296 EXPECT_EQ(identity_matrix, root->render_surface()->draw_transform());
1275 } 1297 }
(...skipping 3188 matching lines...) Expand 10 before | Expand all | Expand 10 after
4464 4486
4465 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 4487 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
4466 host->SetRootLayer(root); 4488 host->SetRootLayer(root);
4467 4489
4468 float device_scale_factor = 2.5f; 4490 float device_scale_factor = 2.5f;
4469 float page_scale_factor = 1.f; 4491 float page_scale_factor = 1.f;
4470 4492
4471 { 4493 {
4472 RenderSurfaceLayerList render_surface_layer_list; 4494 RenderSurfaceLayerList render_surface_layer_list;
4473 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4495 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4474 root.get(), root->bounds(), &render_surface_layer_list); 4496 root.get(),
4497 gfx::ToCeiledSize(root->bounds()),
4498 &render_surface_layer_list);
4475 inputs.device_scale_factor = device_scale_factor; 4499 inputs.device_scale_factor = device_scale_factor;
4476 inputs.page_scale_factor = page_scale_factor; 4500 inputs.page_scale_factor = page_scale_factor;
4477 inputs.page_scale_application_layer = root.get(); 4501 inputs.page_scale_application_layer = root.get();
4478 inputs.can_adjust_raster_scales = true; 4502 inputs.can_adjust_raster_scales = true;
4479 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4503 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4480 4504
4481 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4505 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4482 initial_parent_scale, parent); 4506 initial_parent_scale, parent);
4483 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4507 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4484 initial_parent_scale * initial_child_scale, 4508 initial_parent_scale * initial_child_scale,
(...skipping 22 matching lines...) Expand all
4507 } 4531 }
4508 4532
4509 // If the device_scale_factor or page_scale_factor changes, then it should be 4533 // If the device_scale_factor or page_scale_factor changes, then it should be
4510 // updated using the initial transform as the raster scale. 4534 // updated using the initial transform as the raster scale.
4511 device_scale_factor = 2.25f; 4535 device_scale_factor = 2.25f;
4512 page_scale_factor = 1.25f; 4536 page_scale_factor = 1.25f;
4513 4537
4514 { 4538 {
4515 RenderSurfaceLayerList render_surface_layer_list; 4539 RenderSurfaceLayerList render_surface_layer_list;
4516 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4540 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4517 root.get(), root->bounds(), &render_surface_layer_list); 4541 root.get(),
4542 gfx::ToCeiledSize(root->bounds()),
4543 &render_surface_layer_list);
4518 inputs.device_scale_factor = device_scale_factor; 4544 inputs.device_scale_factor = device_scale_factor;
4519 inputs.page_scale_factor = page_scale_factor; 4545 inputs.page_scale_factor = page_scale_factor;
4520 inputs.page_scale_application_layer = root.get(); 4546 inputs.page_scale_application_layer = root.get();
4521 inputs.can_adjust_raster_scales = true; 4547 inputs.can_adjust_raster_scales = true;
4522 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4548 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4523 4549
4524 EXPECT_CONTENTS_SCALE_EQ( 4550 EXPECT_CONTENTS_SCALE_EQ(
4525 device_scale_factor * page_scale_factor * initial_parent_scale, parent); 4551 device_scale_factor * page_scale_factor * initial_parent_scale, parent);
4526 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4552 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4527 initial_parent_scale * initial_child_scale, 4553 initial_parent_scale * initial_child_scale,
4528 child_scale); 4554 child_scale);
4529 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4555 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4530 initial_parent_scale * initial_child_scale, 4556 initial_parent_scale * initial_child_scale,
4531 child_empty); 4557 child_empty);
4532 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale); 4558 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
4533 } 4559 }
4534 4560
4535 // If the transform changes, we expect the raster scale to be reset to 1.0. 4561 // If the transform changes, we expect the raster scale to be reset to 1.0.
4536 SkMScalar second_child_scale = 1.75; 4562 SkMScalar second_child_scale = 1.75;
4537 child_scale_matrix.Scale(second_child_scale / initial_child_scale, 4563 child_scale_matrix.Scale(second_child_scale / initial_child_scale,
4538 second_child_scale / initial_child_scale); 4564 second_child_scale / initial_child_scale);
4539 child_scale->SetTransform(child_scale_matrix); 4565 child_scale->SetTransform(child_scale_matrix);
4540 child_empty->SetTransform(child_scale_matrix); 4566 child_empty->SetTransform(child_scale_matrix);
4541 4567
4542 { 4568 {
4543 RenderSurfaceLayerList render_surface_layer_list; 4569 RenderSurfaceLayerList render_surface_layer_list;
4544 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4570 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4545 root.get(), root->bounds(), &render_surface_layer_list); 4571 root.get(),
4572 gfx::ToCeiledSize(root->bounds()),
4573 &render_surface_layer_list);
4546 inputs.device_scale_factor = device_scale_factor; 4574 inputs.device_scale_factor = device_scale_factor;
4547 inputs.page_scale_factor = page_scale_factor; 4575 inputs.page_scale_factor = page_scale_factor;
4548 inputs.page_scale_application_layer = root.get(); 4576 inputs.page_scale_application_layer = root.get();
4549 inputs.can_adjust_raster_scales = true; 4577 inputs.can_adjust_raster_scales = true;
4550 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4578 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4551 4579
4552 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4580 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4553 initial_parent_scale, 4581 initial_parent_scale,
4554 parent); 4582 parent);
4555 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4583 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
4556 child_scale); 4584 child_scale);
4557 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4585 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
4558 child_empty); 4586 child_empty);
4559 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale); 4587 EXPECT_CONTENTS_SCALE_EQ(1, child_no_scale);
4560 } 4588 }
4561 4589
4562 // If the device_scale_factor or page_scale_factor changes, then it should be 4590 // If the device_scale_factor or page_scale_factor changes, then it should be
4563 // updated, but still using 1.0 as the raster scale. 4591 // updated, but still using 1.0 as the raster scale.
4564 device_scale_factor = 2.75f; 4592 device_scale_factor = 2.75f;
4565 page_scale_factor = 1.75f; 4593 page_scale_factor = 1.75f;
4566 4594
4567 { 4595 {
4568 RenderSurfaceLayerList render_surface_layer_list; 4596 RenderSurfaceLayerList render_surface_layer_list;
4569 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4597 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4570 root.get(), root->bounds(), &render_surface_layer_list); 4598 root.get(),
4599 gfx::ToCeiledSize(root->bounds()),
4600 &render_surface_layer_list);
4571 inputs.device_scale_factor = device_scale_factor; 4601 inputs.device_scale_factor = device_scale_factor;
4572 inputs.page_scale_factor = page_scale_factor; 4602 inputs.page_scale_factor = page_scale_factor;
4573 inputs.page_scale_application_layer = root.get(); 4603 inputs.page_scale_application_layer = root.get();
4574 inputs.can_adjust_raster_scales = true; 4604 inputs.can_adjust_raster_scales = true;
4575 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4605 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4576 4606
4577 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4607 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4578 initial_parent_scale, 4608 initial_parent_scale,
4579 parent); 4609 parent);
4580 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4610 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
4648 4678
4649 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 4679 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
4650 host->SetRootLayer(root); 4680 host->SetRootLayer(root);
4651 4681
4652 RenderSurfaceLayerList render_surface_layer_list; 4682 RenderSurfaceLayerList render_surface_layer_list;
4653 4683
4654 float device_scale_factor = 2.5f; 4684 float device_scale_factor = 2.5f;
4655 float page_scale_factor = 1.f; 4685 float page_scale_factor = 1.f;
4656 4686
4657 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4687 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4658 root.get(), root->bounds(), &render_surface_layer_list); 4688 root.get(),
4689 gfx::ToCeiledSize(root->bounds()),
4690 &render_surface_layer_list);
4659 inputs.device_scale_factor = device_scale_factor; 4691 inputs.device_scale_factor = device_scale_factor;
4660 inputs.page_scale_factor = page_scale_factor; 4692 inputs.page_scale_factor = page_scale_factor;
4661 inputs.page_scale_application_layer = root.get(), 4693 inputs.page_scale_application_layer = root.get(),
4662 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4694 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4663 4695
4664 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent); 4696 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, parent);
4665 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4697 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
4666 child_scale); 4698 child_scale);
4667 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 4699 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
4668 child_empty); 4700 child_empty);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
4730 4762
4731 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 4763 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
4732 host->SetRootLayer(root); 4764 host->SetRootLayer(root);
4733 4765
4734 float device_scale_factor = 2.5f; 4766 float device_scale_factor = 2.5f;
4735 float page_scale_factor = 0.01f; 4767 float page_scale_factor = 0.01f;
4736 4768
4737 { 4769 {
4738 RenderSurfaceLayerList render_surface_layer_list; 4770 RenderSurfaceLayerList render_surface_layer_list;
4739 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4771 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4740 root.get(), root->bounds(), &render_surface_layer_list); 4772 root.get(),
4773 gfx::ToCeiledSize(root->bounds()),
4774 &render_surface_layer_list);
4741 inputs.device_scale_factor = device_scale_factor; 4775 inputs.device_scale_factor = device_scale_factor;
4742 inputs.page_scale_factor = page_scale_factor; 4776 inputs.page_scale_factor = page_scale_factor;
4743 inputs.page_scale_application_layer = root.get(); 4777 inputs.page_scale_application_layer = root.get();
4744 inputs.can_adjust_raster_scales = true; 4778 inputs.can_adjust_raster_scales = true;
4745 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4779 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4746 4780
4747 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4781 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4748 initial_parent_scale, 4782 initial_parent_scale,
4749 parent); 4783 parent);
4750 // The child's scale is < 1, so we should not save and use that scale 4784 // The child's scale is < 1, so we should not save and use that scale
4751 // factor. 4785 // factor.
4752 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 1, 4786 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 1,
4753 child_scale); 4787 child_scale);
4754 } 4788 }
4755 4789
4756 // When chilld's total scale becomes >= 1, we should save and use that scale 4790 // When chilld's total scale becomes >= 1, we should save and use that scale
4757 // factor. 4791 // factor.
4758 child_scale_matrix.MakeIdentity(); 4792 child_scale_matrix.MakeIdentity();
4759 SkMScalar final_child_scale = 0.75; 4793 SkMScalar final_child_scale = 0.75;
4760 child_scale_matrix.Scale(final_child_scale, final_child_scale); 4794 child_scale_matrix.Scale(final_child_scale, final_child_scale);
4761 child_scale->SetTransform(child_scale_matrix); 4795 child_scale->SetTransform(child_scale_matrix);
4762 4796
4763 { 4797 {
4764 RenderSurfaceLayerList render_surface_layer_list; 4798 RenderSurfaceLayerList render_surface_layer_list;
4765 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4799 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4766 root.get(), root->bounds(), &render_surface_layer_list); 4800 root.get(),
4801 gfx::ToCeiledSize(root->bounds()),
4802 &render_surface_layer_list);
4767 inputs.device_scale_factor = device_scale_factor; 4803 inputs.device_scale_factor = device_scale_factor;
4768 inputs.page_scale_factor = page_scale_factor; 4804 inputs.page_scale_factor = page_scale_factor;
4769 inputs.page_scale_application_layer = root.get(); 4805 inputs.page_scale_application_layer = root.get();
4770 inputs.can_adjust_raster_scales = true; 4806 inputs.can_adjust_raster_scales = true;
4771 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4807 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4772 4808
4773 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4809 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4774 initial_parent_scale, 4810 initial_parent_scale,
4775 parent); 4811 parent);
4776 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4812 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
4877 surface_no_scale->AddChild(surface_no_scale_child_no_scale); 4913 surface_no_scale->AddChild(surface_no_scale_child_no_scale);
4878 4914
4879 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 4915 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
4880 host->SetRootLayer(root); 4916 host->SetRootLayer(root);
4881 4917
4882 SkMScalar device_scale_factor = 5; 4918 SkMScalar device_scale_factor = 5;
4883 SkMScalar page_scale_factor = 7; 4919 SkMScalar page_scale_factor = 7;
4884 4920
4885 RenderSurfaceLayerList render_surface_layer_list; 4921 RenderSurfaceLayerList render_surface_layer_list;
4886 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 4922 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
4887 root.get(), root->bounds(), &render_surface_layer_list); 4923 root.get(),
4924 gfx::ToCeiledSize(root->bounds()),
4925 &render_surface_layer_list);
4888 inputs.device_scale_factor = device_scale_factor; 4926 inputs.device_scale_factor = device_scale_factor;
4889 inputs.page_scale_factor = page_scale_factor; 4927 inputs.page_scale_factor = page_scale_factor;
4890 inputs.page_scale_application_layer = root.get(); 4928 inputs.page_scale_application_layer = root.get();
4891 inputs.can_adjust_raster_scales = true; 4929 inputs.can_adjust_raster_scales = true;
4892 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 4930 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
4893 4931
4894 EXPECT_CONTENTS_SCALE_EQ( 4932 EXPECT_CONTENTS_SCALE_EQ(
4895 device_scale_factor * page_scale_factor * initial_parent_scale, parent); 4933 device_scale_factor * page_scale_factor * initial_parent_scale, parent);
4896 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor * 4934 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor *
4897 initial_parent_scale * initial_child_scale, 4935 initial_parent_scale * initial_child_scale,
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
5078 surface_no_scale->AddChild(surface_no_scale_child_no_scale); 5116 surface_no_scale->AddChild(surface_no_scale_child_no_scale);
5079 5117
5080 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 5118 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
5081 host->SetRootLayer(root); 5119 host->SetRootLayer(root);
5082 5120
5083 RenderSurfaceLayerList render_surface_layer_list; 5121 RenderSurfaceLayerList render_surface_layer_list;
5084 5122
5085 SkMScalar device_scale_factor = 5.0; 5123 SkMScalar device_scale_factor = 5.0;
5086 SkMScalar page_scale_factor = 7.0; 5124 SkMScalar page_scale_factor = 7.0;
5087 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 5125 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
5088 root.get(), root->bounds(), &render_surface_layer_list); 5126 root.get(),
5127 gfx::ToCeiledSize(root->bounds()),
5128 &render_surface_layer_list);
5089 inputs.device_scale_factor = device_scale_factor; 5129 inputs.device_scale_factor = device_scale_factor;
5090 inputs.page_scale_factor = page_scale_factor; 5130 inputs.page_scale_factor = page_scale_factor;
5091 inputs.page_scale_application_layer = root.get(); 5131 inputs.page_scale_application_layer = root.get();
5092 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 5132 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5093 5133
5094 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 5134 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
5095 parent); 5135 parent);
5096 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor, 5136 EXPECT_CONTENTS_SCALE_EQ(device_scale_factor * page_scale_factor,
5097 surface_scale); 5137 surface_scale);
5098 EXPECT_CONTENTS_SCALE_EQ(1.f, surface_no_scale); 5138 EXPECT_CONTENTS_SCALE_EQ(1.f, surface_no_scale);
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
5223 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 5263 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
5224 host->SetRootLayer(root); 5264 host->SetRootLayer(root);
5225 5265
5226 // Now put an animating transform on child. 5266 // Now put an animating transform on child.
5227 int animation_id = AddAnimatedTransformToController( 5267 int animation_id = AddAnimatedTransformToController(
5228 child_scale->layer_animation_controller(), 10.0, 30, 0); 5268 child_scale->layer_animation_controller(), 10.0, 30, 0);
5229 5269
5230 { 5270 {
5231 RenderSurfaceLayerList render_surface_layer_list; 5271 RenderSurfaceLayerList render_surface_layer_list;
5232 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 5272 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
5233 root.get(), root->bounds(), &render_surface_layer_list); 5273 root.get(),
5274 gfx::ToCeiledSize(root->bounds()),
5275 &render_surface_layer_list);
5234 inputs.can_adjust_raster_scales = true; 5276 inputs.can_adjust_raster_scales = true;
5235 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 5277 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5236 5278
5237 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent); 5279 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
5238 // The layers with animating transforms should not compute a contents scale 5280 // The layers with animating transforms should not compute a contents scale
5239 // other than 1 until they finish animating. 5281 // other than 1 until they finish animating.
5240 EXPECT_CONTENTS_SCALE_EQ(1, child_scale); 5282 EXPECT_CONTENTS_SCALE_EQ(1, child_scale);
5241 } 5283 }
5242 5284
5243 // Remove the animation, now it can save a raster scale. 5285 // Remove the animation, now it can save a raster scale.
5244 child_scale->layer_animation_controller()->RemoveAnimation(animation_id); 5286 child_scale->layer_animation_controller()->RemoveAnimation(animation_id);
5245 5287
5246 { 5288 {
5247 RenderSurfaceLayerList render_surface_layer_list; 5289 RenderSurfaceLayerList render_surface_layer_list;
5248 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 5290 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
5249 root.get(), root->bounds(), &render_surface_layer_list); 5291 root.get(),
5292 gfx::ToCeiledSize(root->bounds()),
5293 &render_surface_layer_list);
5250 inputs.can_adjust_raster_scales = true; 5294 inputs.can_adjust_raster_scales = true;
5251 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 5295 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5252 5296
5253 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent); 5297 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale, parent);
5254 // The layers with animating transforms should not compute a contents scale 5298 // The layers with animating transforms should not compute a contents scale
5255 // other than 1 until they finish animating. 5299 // other than 1 until they finish animating.
5256 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale * initial_child_scale, 5300 EXPECT_CONTENTS_SCALE_EQ(initial_parent_scale * initial_child_scale,
5257 child_scale); 5301 child_scale);
5258 } 5302 }
5259 } 5303 }
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
5650 child->SetOpacity(0.0f); 5694 child->SetOpacity(0.0f);
5651 5695
5652 // Add opacity animation. 5696 // Add opacity animation.
5653 AddOpacityTransitionToController( 5697 AddOpacityTransitionToController(
5654 child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false); 5698 child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false);
5655 5699
5656 root->AddChild(child.Pass()); 5700 root->AddChild(child.Pass());
5657 5701
5658 LayerImplList render_surface_layer_list; 5702 LayerImplList render_surface_layer_list;
5659 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 5703 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
5660 root.get(), root->bounds(), &render_surface_layer_list); 5704 root.get(),
5705 gfx::ToCeiledSize(root->bounds()),
5706 &render_surface_layer_list);
5661 inputs.can_adjust_raster_scales = true; 5707 inputs.can_adjust_raster_scales = true;
5662 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 5708 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5663 5709
5664 // We should have one render surface and two layers. The child 5710 // We should have one render surface and two layers. The child
5665 // layer should be included even though it is transparent. 5711 // layer should be included even though it is transparent.
5666 ASSERT_EQ(1u, render_surface_layer_list.size()); 5712 ASSERT_EQ(1u, render_surface_layer_list.size());
5667 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); 5713 ASSERT_EQ(2u, root->render_surface()->layer_list().size());
5668 } 5714 }
5669 5715
5670 typedef std::tr1::tuple<bool, bool> LCDTextTestParam; 5716 typedef std::tr1::tuple<bool, bool> LCDTextTestParam;
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
5860 grand_child->SetHideLayerAndSubtree(true); 5906 grand_child->SetHideLayerAndSubtree(true);
5861 5907
5862 child->AddChild(grand_child); 5908 child->AddChild(grand_child);
5863 root->AddChild(child); 5909 root->AddChild(child);
5864 5910
5865 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 5911 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
5866 host->SetRootLayer(root); 5912 host->SetRootLayer(root);
5867 5913
5868 RenderSurfaceLayerList render_surface_layer_list; 5914 RenderSurfaceLayerList render_surface_layer_list;
5869 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 5915 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
5870 root.get(), root->bounds(), &render_surface_layer_list); 5916 root.get(),
5917 gfx::ToCeiledSize(root->bounds()),
5918 &render_surface_layer_list);
5871 inputs.can_adjust_raster_scales = true; 5919 inputs.can_adjust_raster_scales = true;
5872 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 5920 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5873 5921
5874 // We should have one render surface and two layers. The grand child has 5922 // We should have one render surface and two layers. The grand child has
5875 // hidden itself. 5923 // hidden itself.
5876 ASSERT_EQ(1u, render_surface_layer_list.size()); 5924 ASSERT_EQ(1u, render_surface_layer_list.size());
5877 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); 5925 ASSERT_EQ(2u, root->render_surface()->layer_list().size());
5878 EXPECT_EQ(root->id(), root->render_surface()->layer_list().at(0)->id()); 5926 EXPECT_EQ(root->id(), root->render_surface()->layer_list().at(0)->id());
5879 EXPECT_EQ(child->id(), root->render_surface()->layer_list().at(1)->id()); 5927 EXPECT_EQ(child->id(), root->render_surface()->layer_list().at(1)->id());
5880 } 5928 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
5916 true, 5964 true,
5917 false); 5965 false);
5918 grand_child->SetDrawsContent(true); 5966 grand_child->SetDrawsContent(true);
5919 grand_child->SetHideLayerAndSubtree(true); 5967 grand_child->SetHideLayerAndSubtree(true);
5920 5968
5921 child->AddChild(grand_child.Pass()); 5969 child->AddChild(grand_child.Pass());
5922 root->AddChild(child.Pass()); 5970 root->AddChild(child.Pass());
5923 5971
5924 LayerImplList render_surface_layer_list; 5972 LayerImplList render_surface_layer_list;
5925 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 5973 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
5926 root.get(), root->bounds(), &render_surface_layer_list); 5974 root.get(),
5975 gfx::ToCeiledSize(root->bounds()),
5976 &render_surface_layer_list);
5927 inputs.can_adjust_raster_scales = true; 5977 inputs.can_adjust_raster_scales = true;
5928 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 5978 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5929 5979
5930 // We should have one render surface and two layers. The grand child has 5980 // We should have one render surface and two layers. The grand child has
5931 // hidden itself. 5981 // hidden itself.
5932 ASSERT_EQ(1u, render_surface_layer_list.size()); 5982 ASSERT_EQ(1u, render_surface_layer_list.size());
5933 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); 5983 ASSERT_EQ(2u, root->render_surface()->layer_list().size());
5934 EXPECT_EQ(1, root->render_surface()->layer_list().at(0)->id()); 5984 EXPECT_EQ(1, root->render_surface()->layer_list().at(0)->id());
5935 EXPECT_EQ(2, root->render_surface()->layer_list().at(1)->id()); 5985 EXPECT_EQ(2, root->render_surface()->layer_list().at(1)->id());
5936 } 5986 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
5974 grand_child->SetIsDrawable(true); 6024 grand_child->SetIsDrawable(true);
5975 6025
5976 child->AddChild(grand_child); 6026 child->AddChild(grand_child);
5977 root->AddChild(child); 6027 root->AddChild(child);
5978 6028
5979 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 6029 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
5980 host->SetRootLayer(root); 6030 host->SetRootLayer(root);
5981 6031
5982 RenderSurfaceLayerList render_surface_layer_list; 6032 RenderSurfaceLayerList render_surface_layer_list;
5983 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 6033 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
5984 root.get(), root->bounds(), &render_surface_layer_list); 6034 root.get(),
6035 gfx::ToCeiledSize(root->bounds()),
6036 &render_surface_layer_list);
5985 inputs.can_adjust_raster_scales = true; 6037 inputs.can_adjust_raster_scales = true;
5986 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 6038 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
5987 6039
5988 // We should have one render surface and one layers. The child has 6040 // We should have one render surface and one layers. The child has
5989 // hidden itself and the grand child. 6041 // hidden itself and the grand child.
5990 ASSERT_EQ(1u, render_surface_layer_list.size()); 6042 ASSERT_EQ(1u, render_surface_layer_list.size());
5991 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); 6043 ASSERT_EQ(1u, root->render_surface()->layer_list().size());
5992 EXPECT_EQ(root->id(), root->render_surface()->layer_list().at(0)->id()); 6044 EXPECT_EQ(root->id(), root->render_surface()->layer_list().at(0)->id());
5993 } 6045 }
5994 6046
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
6029 gfx::Size(30, 30), 6081 gfx::Size(30, 30),
6030 true, 6082 true,
6031 false); 6083 false);
6032 grand_child->SetDrawsContent(true); 6084 grand_child->SetDrawsContent(true);
6033 6085
6034 child->AddChild(grand_child.Pass()); 6086 child->AddChild(grand_child.Pass());
6035 root->AddChild(child.Pass()); 6087 root->AddChild(child.Pass());
6036 6088
6037 LayerImplList render_surface_layer_list; 6089 LayerImplList render_surface_layer_list;
6038 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 6090 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
6039 root.get(), root->bounds(), &render_surface_layer_list); 6091 root.get(),
6092 gfx::ToCeiledSize(root->bounds()),
6093 &render_surface_layer_list);
6040 inputs.can_adjust_raster_scales = true; 6094 inputs.can_adjust_raster_scales = true;
6041 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 6095 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
6042 6096
6043 // We should have one render surface and one layers. The child has 6097 // We should have one render surface and one layers. The child has
6044 // hidden itself and the grand child. 6098 // hidden itself and the grand child.
6045 ASSERT_EQ(1u, render_surface_layer_list.size()); 6099 ASSERT_EQ(1u, render_surface_layer_list.size());
6046 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); 6100 ASSERT_EQ(1u, root->render_surface()->layer_list().size());
6047 EXPECT_EQ(1, root->render_surface()->layer_list().at(0)->id()); 6101 EXPECT_EQ(1, root->render_surface()->layer_list().at(0)->id());
6048 } 6102 }
6049 6103
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
6141 // hidden subtree on copy_layer. 6195 // hidden subtree on copy_layer.
6142 copy_grand_parent->SetHideLayerAndSubtree(true); 6196 copy_grand_parent->SetHideLayerAndSubtree(true);
6143 copy_grand_parent_sibling_before->SetHideLayerAndSubtree(true); 6197 copy_grand_parent_sibling_before->SetHideLayerAndSubtree(true);
6144 copy_grand_parent_sibling_after->SetHideLayerAndSubtree(true); 6198 copy_grand_parent_sibling_after->SetHideLayerAndSubtree(true);
6145 copy_layer->RequestCopyOfOutput(CopyOutputRequest::CreateRequest( 6199 copy_layer->RequestCopyOfOutput(CopyOutputRequest::CreateRequest(
6146 base::Bind(&EmptyCopyOutputCallback))); 6200 base::Bind(&EmptyCopyOutputCallback)));
6147 EXPECT_TRUE(copy_layer->HasCopyRequest()); 6201 EXPECT_TRUE(copy_layer->HasCopyRequest());
6148 6202
6149 RenderSurfaceLayerList render_surface_layer_list; 6203 RenderSurfaceLayerList render_surface_layer_list;
6150 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 6204 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
6151 root.get(), root->bounds(), &render_surface_layer_list); 6205 root.get(),
6206 gfx::ToCeiledSize(root->bounds()),
6207 &render_surface_layer_list);
6152 inputs.can_adjust_raster_scales = true; 6208 inputs.can_adjust_raster_scales = true;
6153 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 6209 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
6154 6210
6155 EXPECT_TRUE(root->draw_properties().layer_or_descendant_has_copy_request); 6211 EXPECT_TRUE(root->draw_properties().layer_or_descendant_has_copy_request);
6156 EXPECT_TRUE(copy_grand_parent->draw_properties(). 6212 EXPECT_TRUE(copy_grand_parent->draw_properties().
6157 layer_or_descendant_has_copy_request); 6213 layer_or_descendant_has_copy_request);
6158 EXPECT_TRUE(copy_parent->draw_properties(). 6214 EXPECT_TRUE(copy_parent->draw_properties().
6159 layer_or_descendant_has_copy_request); 6215 layer_or_descendant_has_copy_request);
6160 EXPECT_TRUE(copy_layer->draw_properties(). 6216 EXPECT_TRUE(copy_layer->draw_properties().
6161 layer_or_descendant_has_copy_request); 6217 layer_or_descendant_has_copy_request);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
6250 6306
6251 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 6307 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
6252 host->SetRootLayer(root); 6308 host->SetRootLayer(root);
6253 6309
6254 copy_layer->RequestCopyOfOutput(CopyOutputRequest::CreateRequest( 6310 copy_layer->RequestCopyOfOutput(CopyOutputRequest::CreateRequest(
6255 base::Bind(&EmptyCopyOutputCallback))); 6311 base::Bind(&EmptyCopyOutputCallback)));
6256 EXPECT_TRUE(copy_layer->HasCopyRequest()); 6312 EXPECT_TRUE(copy_layer->HasCopyRequest());
6257 6313
6258 RenderSurfaceLayerList render_surface_layer_list; 6314 RenderSurfaceLayerList render_surface_layer_list;
6259 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 6315 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
6260 root.get(), root->bounds(), &render_surface_layer_list); 6316 root.get(),
6317 gfx::ToCeiledSize(root->bounds()),
6318 &render_surface_layer_list);
6261 inputs.can_adjust_raster_scales = true; 6319 inputs.can_adjust_raster_scales = true;
6262 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 6320 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
6263 6321
6264 // We should have one render surface, as the others are clipped out. 6322 // We should have one render surface, as the others are clipped out.
6265 ASSERT_EQ(1u, render_surface_layer_list.size()); 6323 ASSERT_EQ(1u, render_surface_layer_list.size());
6266 EXPECT_EQ(root->id(), render_surface_layer_list.at(0)->id()); 6324 EXPECT_EQ(root->id(), render_surface_layer_list.at(0)->id());
6267 6325
6268 // The root render surface should only have 1 contributing layer, since the 6326 // The root render surface should only have 1 contributing layer, since the
6269 // other layers are empty/clipped away. 6327 // other layers are empty/clipped away.
6270 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); 6328 ASSERT_EQ(1u, root->render_surface()->layer_list().size());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
6310 surface_child->SetIsDrawable(true); 6368 surface_child->SetIsDrawable(true);
6311 6369
6312 surface->AddChild(surface_child); 6370 surface->AddChild(surface_child);
6313 root->AddChild(surface); 6371 root->AddChild(surface);
6314 6372
6315 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 6373 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
6316 host->SetRootLayer(root); 6374 host->SetRootLayer(root);
6317 6375
6318 RenderSurfaceLayerList render_surface_layer_list; 6376 RenderSurfaceLayerList render_surface_layer_list;
6319 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 6377 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
6320 root.get(), root->bounds(), &render_surface_layer_list); 6378 root.get(),
6379 gfx::ToCeiledSize(root->bounds()),
6380 &render_surface_layer_list);
6321 inputs.can_adjust_raster_scales = true; 6381 inputs.can_adjust_raster_scales = true;
6322 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 6382 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
6323 6383
6324 // The visible_content_rect for the |surface_child| should not be clipped by 6384 // The visible_content_rect for the |surface_child| should not be clipped by
6325 // the viewport. 6385 // the viewport.
6326 EXPECT_EQ(gfx::Rect(50, 50).ToString(), 6386 EXPECT_EQ(gfx::Rect(50, 50).ToString(),
6327 surface_child->visible_content_rect().ToString()); 6387 surface_child->visible_content_rect().ToString());
6328 } 6388 }
6329 6389
6330 TEST_F(LayerTreeHostCommonTest, TransformedClipParent) { 6390 TEST_F(LayerTreeHostCommonTest, TransformedClipParent) {
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after
6939 child3->Set3dSortingContextId(1); 6999 child3->Set3dSortingContextId(1);
6940 7000
6941 child2->AddChild(child3.Pass()); 7001 child2->AddChild(child3.Pass());
6942 child1->AddChild(child2.Pass()); 7002 child1->AddChild(child2.Pass());
6943 root->AddChild(child1.Pass()); 7003 root->AddChild(child1.Pass());
6944 7004
6945 { 7005 {
6946 LayerImplList render_surface_layer_list; 7006 LayerImplList render_surface_layer_list;
6947 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(root.get()); 7007 FakeLayerTreeHostImpl::RecursiveUpdateNumChildren(root.get());
6948 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7008 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
6949 root.get(), root->bounds(), &render_surface_layer_list); 7009 root.get(),
7010 gfx::ToCeiledSize(root->bounds()),
7011 &render_surface_layer_list);
6950 inputs.can_render_to_separate_surface = true; 7012 inputs.can_render_to_separate_surface = true;
6951 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7013 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
6952 7014
6953 EXPECT_EQ(2u, render_surface_layer_list.size()); 7015 EXPECT_EQ(2u, render_surface_layer_list.size());
6954 } 7016 }
6955 7017
6956 { 7018 {
6957 LayerImplList render_surface_layer_list; 7019 LayerImplList render_surface_layer_list;
6958 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7020 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
6959 root.get(), root->bounds(), &render_surface_layer_list); 7021 root.get(),
7022 gfx::ToCeiledSize(root->bounds()),
7023 &render_surface_layer_list);
6960 inputs.can_render_to_separate_surface = false; 7024 inputs.can_render_to_separate_surface = false;
6961 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7025 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
6962 7026
6963 EXPECT_EQ(1u, render_surface_layer_list.size()); 7027 EXPECT_EQ(1u, render_surface_layer_list.size());
6964 } 7028 }
6965 } 7029 }
6966 7030
6967 TEST_F(LayerTreeHostCommonTest, DoNotIncludeBackfaceInvisibleSurfaces) { 7031 TEST_F(LayerTreeHostCommonTest, DoNotIncludeBackfaceInvisibleSurfaces) {
6968 scoped_refptr<Layer> root = Layer::Create(); 7032 scoped_refptr<Layer> root = Layer::Create();
6969 scoped_refptr<Layer> render_surface = Layer::Create(); 7033 scoped_refptr<Layer> render_surface = Layer::Create();
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
7494 gfx::Size(50, 50), 7558 gfx::Size(50, 50),
7495 true, 7559 true,
7496 false); 7560 false);
7497 7561
7498 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost()); 7562 scoped_ptr<FakeLayerTreeHost> host(CreateFakeLayerTreeHost());
7499 host->SetRootLayer(root); 7563 host->SetRootLayer(root);
7500 7564
7501 RenderSurfaceLayerList render_surface_layer_list; 7565 RenderSurfaceLayerList render_surface_layer_list;
7502 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 7566 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs(
7503 root.get(), 7567 root.get(),
7504 root->bounds(), 7568 gfx::ToCeiledSize(root->bounds()),
7505 identity_transform, 7569 identity_transform,
7506 &render_surface_layer_list); 7570 &render_surface_layer_list);
7507 7571
7508 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7572 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
7509 7573
7510 EXPECT_TRUE(root->render_surface()); 7574 EXPECT_TRUE(root->render_surface());
7511 7575
7512 EXPECT_EQ(gfx::Rect(0, 0, 20, 20).ToString(), 7576 EXPECT_EQ(gfx::Rect(0, 0, 20, 20).ToString(),
7513 scroll_child->clip_rect().ToString()); 7577 scroll_child->clip_rect().ToString());
7514 EXPECT_TRUE(scroll_child->is_clipped()); 7578 EXPECT_TRUE(scroll_child->is_clipped());
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
7630 scroll_child->AddChild(top_content.Pass()); 7694 scroll_child->AddChild(top_content.Pass());
7631 scroll_child->AddChild(bottom_content.Pass()); 7695 scroll_child->AddChild(bottom_content.Pass());
7632 root->AddChild(scroll_child.Pass()); 7696 root->AddChild(scroll_child.Pass());
7633 7697
7634 scroll_parent_clip->AddChild(scroll_parent.Pass()); 7698 scroll_parent_clip->AddChild(scroll_parent.Pass());
7635 scroll_parent_border->AddChild(scroll_parent_clip.Pass()); 7699 scroll_parent_border->AddChild(scroll_parent_clip.Pass());
7636 root->AddChild(scroll_parent_border.Pass()); 7700 root->AddChild(scroll_parent_border.Pass());
7637 7701
7638 LayerImplList render_surface_layer_list; 7702 LayerImplList render_surface_layer_list;
7639 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7703 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
7640 root.get(), root->bounds(), &render_surface_layer_list); 7704 root.get(),
7705 gfx::ToCeiledSize(root->bounds()),
7706 &render_surface_layer_list);
7641 7707
7642 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7708 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
7643 7709
7644 EXPECT_TRUE(root->render_surface()); 7710 EXPECT_TRUE(root->render_surface());
7645 7711
7646 // If we don't sort by depth and let the layers get added in the order they 7712 // If we don't sort by depth and let the layers get added in the order they
7647 // would normally be visited in, then layers 6 and 7 will be out of order. In 7713 // would normally be visited in, then layers 6 and 7 will be out of order. In
7648 // other words, although we've had to shift 5, 6, and 7 to appear before 4 7714 // other words, although we've had to shift 5, 6, and 7 to appear before 4
7649 // in the list (because of the scroll parent relationship), this should not 7715 // in the list (because of the scroll parent relationship), this should not
7650 // have an effect on the the order of 5, 6, and 7 (which had been reordered 7716 // have an effect on the the order of 5, 6, and 7 (which had been reordered
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
7725 container->AddChild(scroller.Pass()); 7791 container->AddChild(scroller.Pass());
7726 root->AddChild(container.Pass()); 7792 root->AddChild(container.Pass());
7727 7793
7728 // Rounded to integers already. 7794 // Rounded to integers already.
7729 { 7795 {
7730 gfx::Vector2dF scroll_delta(3.0, 5.0); 7796 gfx::Vector2dF scroll_delta(3.0, 5.0);
7731 scroll_layer->SetScrollDelta(scroll_delta); 7797 scroll_layer->SetScrollDelta(scroll_delta);
7732 7798
7733 LayerImplList render_surface_layer_list; 7799 LayerImplList render_surface_layer_list;
7734 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7800 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
7735 root.get(), root->bounds(), &render_surface_layer_list); 7801 root.get(),
7802 gfx::ToCeiledSize(root->bounds()),
7803 &render_surface_layer_list);
7736 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7804 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
7737 7805
7738 EXPECT_TRANSFORMATION_MATRIX_EQ( 7806 EXPECT_TRANSFORMATION_MATRIX_EQ(
7739 container_layer->draw_properties().screen_space_transform, 7807 container_layer->draw_properties().screen_space_transform,
7740 fixed_layer->draw_properties().screen_space_transform); 7808 fixed_layer->draw_properties().screen_space_transform);
7741 EXPECT_VECTOR_EQ( 7809 EXPECT_VECTOR_EQ(
7742 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(), 7810 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(),
7743 container_offset); 7811 container_offset);
7744 EXPECT_VECTOR_EQ(scroll_layer->draw_properties() 7812 EXPECT_VECTOR_EQ(scroll_layer->draw_properties()
7745 .screen_space_transform.To2dTranslation(), 7813 .screen_space_transform.To2dTranslation(),
7746 container_offset - scroll_delta); 7814 container_offset - scroll_delta);
7747 } 7815 }
7748 7816
7749 // Scroll delta requiring rounding. 7817 // Scroll delta requiring rounding.
7750 { 7818 {
7751 gfx::Vector2dF scroll_delta(4.1f, 8.1f); 7819 gfx::Vector2dF scroll_delta(4.1f, 8.1f);
7752 scroll_layer->SetScrollDelta(scroll_delta); 7820 scroll_layer->SetScrollDelta(scroll_delta);
7753 7821
7754 gfx::Vector2dF rounded_scroll_delta(4.f, 8.f); 7822 gfx::Vector2dF rounded_scroll_delta(4.f, 8.f);
7755 7823
7756 LayerImplList render_surface_layer_list; 7824 LayerImplList render_surface_layer_list;
7757 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7825 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
7758 root.get(), root->bounds(), &render_surface_layer_list); 7826 root.get(),
7827 gfx::ToCeiledSize(root->bounds()),
7828 &render_surface_layer_list);
7759 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7829 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
7760 7830
7761 EXPECT_TRANSFORMATION_MATRIX_EQ( 7831 EXPECT_TRANSFORMATION_MATRIX_EQ(
7762 container_layer->draw_properties().screen_space_transform, 7832 container_layer->draw_properties().screen_space_transform,
7763 fixed_layer->draw_properties().screen_space_transform); 7833 fixed_layer->draw_properties().screen_space_transform);
7764 EXPECT_VECTOR_EQ( 7834 EXPECT_VECTOR_EQ(
7765 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(), 7835 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(),
7766 container_offset); 7836 container_offset);
7767 EXPECT_VECTOR_EQ(scroll_layer->draw_properties() 7837 EXPECT_VECTOR_EQ(scroll_layer->draw_properties()
7768 .screen_space_transform.To2dTranslation(), 7838 .screen_space_transform.To2dTranslation(),
7769 container_offset - rounded_scroll_delta); 7839 container_offset - rounded_scroll_delta);
7770 } 7840 }
7771 7841
7772 // Scale is applied earlier in the tree. 7842 // Scale is applied earlier in the tree.
7773 { 7843 {
7774 gfx::Transform scaled_container_transform = container_transform; 7844 gfx::Transform scaled_container_transform = container_transform;
7775 scaled_container_transform.Scale3d(3.0, 3.0, 1.0); 7845 scaled_container_transform.Scale3d(3.0, 3.0, 1.0);
7776 container_layer->SetTransform(scaled_container_transform); 7846 container_layer->SetTransform(scaled_container_transform);
7777 7847
7778 gfx::Vector2dF scroll_delta(4.5f, 8.5f); 7848 gfx::Vector2dF scroll_delta(4.5f, 8.5f);
7779 scroll_layer->SetScrollDelta(scroll_delta); 7849 scroll_layer->SetScrollDelta(scroll_delta);
7780 7850
7781 LayerImplList render_surface_layer_list; 7851 LayerImplList render_surface_layer_list;
7782 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7852 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
7783 root.get(), root->bounds(), &render_surface_layer_list); 7853 root.get(),
7854 gfx::ToCeiledSize(root->bounds()),
7855 &render_surface_layer_list);
7784 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7856 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
7785 7857
7786 EXPECT_TRANSFORMATION_MATRIX_EQ( 7858 EXPECT_TRANSFORMATION_MATRIX_EQ(
7787 container_layer->draw_properties().screen_space_transform, 7859 container_layer->draw_properties().screen_space_transform,
7788 fixed_layer->draw_properties().screen_space_transform); 7860 fixed_layer->draw_properties().screen_space_transform);
7789 EXPECT_VECTOR_EQ( 7861 EXPECT_VECTOR_EQ(
7790 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(), 7862 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(),
7791 container_offset); 7863 container_offset);
7792 7864
7793 container_layer->SetTransform(container_transform); 7865 container_layer->SetTransform(container_transform);
7794 } 7866 }
7795 7867
7796 // Scale is applied on the scroll layer itself. 7868 // Scale is applied on the scroll layer itself.
7797 { 7869 {
7798 gfx::Transform scale_transform; 7870 gfx::Transform scale_transform;
7799 scale_transform.Scale3d(3.0, 3.0, 1.0); 7871 scale_transform.Scale3d(3.0, 3.0, 1.0);
7800 scroll_layer->SetTransform(scale_transform); 7872 scroll_layer->SetTransform(scale_transform);
7801 7873
7802 gfx::Vector2dF scroll_delta(4.5f, 8.5f); 7874 gfx::Vector2dF scroll_delta(4.5f, 8.5f);
7803 scroll_layer->SetScrollDelta(scroll_delta); 7875 scroll_layer->SetScrollDelta(scroll_delta);
7804 7876
7805 LayerImplList render_surface_layer_list; 7877 LayerImplList render_surface_layer_list;
7806 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 7878 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
7807 root.get(), root->bounds(), &render_surface_layer_list); 7879 root.get(),
7880 gfx::ToCeiledSize(root->bounds()),
7881 &render_surface_layer_list);
7808 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 7882 LayerTreeHostCommon::CalculateDrawProperties(&inputs);
7809 7883
7810 EXPECT_VECTOR_EQ( 7884 EXPECT_VECTOR_EQ(
7811 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(), 7885 fixed_layer->draw_properties().screen_space_transform.To2dTranslation(),
7812 container_offset); 7886 container_offset);
7813 7887
7814 scroll_layer->SetTransform(identity_transform); 7888 scroll_layer->SetTransform(identity_transform);
7815 } 7889 }
7816 } 7890 }
7817 7891
(...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after
8610 // by the viewport. 8684 // by the viewport.
8611 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), root->visible_content_rect()); 8685 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), root->visible_content_rect());
8612 8686
8613 // Layers drawing to a child render surface should still have their visible 8687 // Layers drawing to a child render surface should still have their visible
8614 // content rect clipped by the viewport. 8688 // content rect clipped by the viewport.
8615 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), content->visible_content_rect()); 8689 EXPECT_EQ(gfx::Rect(768 / 2, 582 / 2), content->visible_content_rect());
8616 } 8690 }
8617 8691
8618 } // namespace 8692 } // namespace
8619 } // namespace cc 8693 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/damage_tracker_unittest.cc ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698