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

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

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