| OLD | NEW |
| 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 "cc/animation/layer_animation_controller.h" | 7 #include "cc/animation/layer_animation_controller.h" |
| 8 #include "cc/base/math_util.h" | 8 #include "cc/base/math_util.h" |
| 9 #include "cc/base/thread.h" | 9 #include "cc/base/thread.h" |
| 10 #include "cc/layers/content_layer.h" | 10 #include "cc/layers/content_layer.h" |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 gfx::Transform identity_matrix; | 116 gfx::Transform identity_matrix; |
| 117 LayerImplList dummy_render_surface_layer_list; | 117 LayerImplList dummy_render_surface_layer_list; |
| 118 int dummy_max_texture_size = 512; | 118 int dummy_max_texture_size = 512; |
| 119 gfx::Size device_viewport_size = | 119 gfx::Size device_viewport_size = |
| 120 gfx::Size(root_layer->bounds().width() * device_scale_factor, | 120 gfx::Size(root_layer->bounds().width() * device_scale_factor, |
| 121 root_layer->bounds().height() * device_scale_factor); | 121 root_layer->bounds().height() * device_scale_factor); |
| 122 | 122 |
| 123 // We are probably not testing what is intended if the root_layer bounds are | 123 // We are probably not testing what is intended if the root_layer bounds are |
| 124 // empty. | 124 // empty. |
| 125 DCHECK(!root_layer->bounds().IsEmpty()); | 125 DCHECK(!root_layer->bounds().IsEmpty()); |
| 126 LayerTreeHostCommon::CalculateDrawProperties(root_layer, | 126 LayerTreeHostCommon::CalculateDrawProperties( |
| 127 device_viewport_size, | 127 root_layer, |
| 128 device_scale_factor, | 128 device_viewport_size, |
| 129 page_scale_factor, | 129 device_scale_factor, |
| 130 page_scale_application_layer, | 130 page_scale_factor, |
| 131 dummy_max_texture_size, | 131 page_scale_application_layer, |
| 132 can_use_lcd_text, | 132 dummy_max_texture_size, |
| 133 &dummy_render_surface_layer_list, | 133 can_use_lcd_text, |
| 134 false); | 134 &dummy_render_surface_layer_list); |
| 135 } | 135 } |
| 136 | 136 |
| 137 template <class LayerType> | 137 template <class LayerType> |
| 138 void ExecuteCalculateDrawProperties(LayerType* root_layer) { | 138 void ExecuteCalculateDrawProperties(LayerType* root_layer) { |
| 139 LayerType* page_scale_application_layer = NULL; | 139 LayerType* page_scale_application_layer = NULL; |
| 140 ExecuteCalculateDrawProperties( | 140 ExecuteCalculateDrawProperties( |
| 141 root_layer, 1.f, 1.f, page_scale_application_layer, false); | 141 root_layer, 1.f, 1.f, page_scale_application_layer, false); |
| 142 } | 142 } |
| 143 | 143 |
| 144 template <class LayerType> | 144 template <class LayerType> |
| (...skipping 3974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4119 | 4119 |
| 4120 LayerImplList render_surface_layer_list; | 4120 LayerImplList render_surface_layer_list; |
| 4121 int dummy_max_texture_size = 512; | 4121 int dummy_max_texture_size = 512; |
| 4122 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4122 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4123 root->bounds(), | 4123 root->bounds(), |
| 4124 1.f, | 4124 1.f, |
| 4125 1.f, | 4125 1.f, |
| 4126 NULL, | 4126 NULL, |
| 4127 dummy_max_texture_size, | 4127 dummy_max_texture_size, |
| 4128 false, | 4128 false, |
| 4129 &render_surface_layer_list, | 4129 &render_surface_layer_list); |
| 4130 false); | |
| 4131 | 4130 |
| 4132 // Sanity check the scenario we just created. | 4131 // Sanity check the scenario we just created. |
| 4133 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4132 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4134 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4133 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4135 | 4134 |
| 4136 // Hit testing for a point outside the layer should return a null pointer. | 4135 // Hit testing for a point outside the layer should return a null pointer. |
| 4137 gfx::Point test_point(101, 101); | 4136 gfx::Point test_point(101, 101); |
| 4138 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( | 4137 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( |
| 4139 test_point, render_surface_layer_list); | 4138 test_point, render_surface_layer_list); |
| 4140 EXPECT_FALSE(result_layer); | 4139 EXPECT_FALSE(result_layer); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4195 | 4194 |
| 4196 LayerImplList render_surface_layer_list; | 4195 LayerImplList render_surface_layer_list; |
| 4197 int dummy_max_texture_size = 512; | 4196 int dummy_max_texture_size = 512; |
| 4198 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4197 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4199 hud_bounds, | 4198 hud_bounds, |
| 4200 1.f, | 4199 1.f, |
| 4201 1.f, | 4200 1.f, |
| 4202 NULL, | 4201 NULL, |
| 4203 dummy_max_texture_size, | 4202 dummy_max_texture_size, |
| 4204 false, | 4203 false, |
| 4205 &render_surface_layer_list, | 4204 &render_surface_layer_list); |
| 4206 false); | |
| 4207 | 4205 |
| 4208 // Sanity check the scenario we just created. | 4206 // Sanity check the scenario we just created. |
| 4209 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4207 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4210 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); | 4208 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); |
| 4211 | 4209 |
| 4212 // Hit testing for a point inside HUD, but outside root should return null | 4210 // Hit testing for a point inside HUD, but outside root should return null |
| 4213 gfx::Point test_point(101, 101); | 4211 gfx::Point test_point(101, 101); |
| 4214 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( | 4212 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( |
| 4215 test_point, render_surface_layer_list); | 4213 test_point, render_surface_layer_list); |
| 4216 EXPECT_FALSE(result_layer); | 4214 EXPECT_FALSE(result_layer); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4263 | 4261 |
| 4264 LayerImplList render_surface_layer_list; | 4262 LayerImplList render_surface_layer_list; |
| 4265 int dummy_max_texture_size = 512; | 4263 int dummy_max_texture_size = 512; |
| 4266 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4264 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4267 root->bounds(), | 4265 root->bounds(), |
| 4268 1.f, | 4266 1.f, |
| 4269 1.f, | 4267 1.f, |
| 4270 NULL, | 4268 NULL, |
| 4271 dummy_max_texture_size, | 4269 dummy_max_texture_size, |
| 4272 false, | 4270 false, |
| 4273 &render_surface_layer_list, | 4271 &render_surface_layer_list); |
| 4274 false); | |
| 4275 | 4272 |
| 4276 // Sanity check the scenario we just created. | 4273 // Sanity check the scenario we just created. |
| 4277 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4274 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4278 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4275 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4279 ASSERT_FALSE(root->screen_space_transform().IsInvertible()); | 4276 ASSERT_FALSE(root->screen_space_transform().IsInvertible()); |
| 4280 | 4277 |
| 4281 // Hit testing any point should not hit the layer. If the invertible matrix is | 4278 // Hit testing any point should not hit the layer. If the invertible matrix is |
| 4282 // accidentally ignored and treated like an identity, then the hit testing | 4279 // accidentally ignored and treated like an identity, then the hit testing |
| 4283 // will incorrectly hit the layer when it shouldn't. | 4280 // will incorrectly hit the layer when it shouldn't. |
| 4284 gfx::Point test_point(1, 1); | 4281 gfx::Point test_point(1, 1); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4340 | 4337 |
| 4341 LayerImplList render_surface_layer_list; | 4338 LayerImplList render_surface_layer_list; |
| 4342 int dummy_max_texture_size = 512; | 4339 int dummy_max_texture_size = 512; |
| 4343 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4340 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4344 root->bounds(), | 4341 root->bounds(), |
| 4345 1.f, | 4342 1.f, |
| 4346 1.f, | 4343 1.f, |
| 4347 NULL, | 4344 NULL, |
| 4348 dummy_max_texture_size, | 4345 dummy_max_texture_size, |
| 4349 false, | 4346 false, |
| 4350 &render_surface_layer_list, | 4347 &render_surface_layer_list); |
| 4351 false); | |
| 4352 | 4348 |
| 4353 // Sanity check the scenario we just created. | 4349 // Sanity check the scenario we just created. |
| 4354 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4350 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4355 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4351 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4356 | 4352 |
| 4357 // Hit testing for a point outside the layer should return a null pointer. | 4353 // Hit testing for a point outside the layer should return a null pointer. |
| 4358 gfx::Point test_point(49, 49); | 4354 gfx::Point test_point(49, 49); |
| 4359 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( | 4355 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( |
| 4360 test_point, render_surface_layer_list); | 4356 test_point, render_surface_layer_list); |
| 4361 EXPECT_FALSE(result_layer); | 4357 EXPECT_FALSE(result_layer); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4406 | 4402 |
| 4407 LayerImplList render_surface_layer_list; | 4403 LayerImplList render_surface_layer_list; |
| 4408 int dummy_max_texture_size = 512; | 4404 int dummy_max_texture_size = 512; |
| 4409 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4405 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4410 root->bounds(), | 4406 root->bounds(), |
| 4411 1.f, | 4407 1.f, |
| 4412 1.f, | 4408 1.f, |
| 4413 NULL, | 4409 NULL, |
| 4414 dummy_max_texture_size, | 4410 dummy_max_texture_size, |
| 4415 false, | 4411 false, |
| 4416 &render_surface_layer_list, | 4412 &render_surface_layer_list); |
| 4417 false); | |
| 4418 | 4413 |
| 4419 // Sanity check the scenario we just created. | 4414 // Sanity check the scenario we just created. |
| 4420 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4415 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4421 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4416 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4422 | 4417 |
| 4423 // Hit testing for points outside the layer. | 4418 // Hit testing for points outside the layer. |
| 4424 // These corners would have been inside the un-transformed layer, but they | 4419 // These corners would have been inside the un-transformed layer, but they |
| 4425 // should not hit the correctly transformed layer. | 4420 // should not hit the correctly transformed layer. |
| 4426 gfx::Point test_point(99, 99); | 4421 gfx::Point test_point(99, 99); |
| 4427 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( | 4422 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4485 | 4480 |
| 4486 LayerImplList render_surface_layer_list; | 4481 LayerImplList render_surface_layer_list; |
| 4487 int dummy_max_texture_size = 512; | 4482 int dummy_max_texture_size = 512; |
| 4488 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4483 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4489 root->bounds(), | 4484 root->bounds(), |
| 4490 1.f, | 4485 1.f, |
| 4491 1.f, | 4486 1.f, |
| 4492 NULL, | 4487 NULL, |
| 4493 dummy_max_texture_size, | 4488 dummy_max_texture_size, |
| 4494 false, | 4489 false, |
| 4495 &render_surface_layer_list, | 4490 &render_surface_layer_list); |
| 4496 false); | |
| 4497 | 4491 |
| 4498 // Sanity check the scenario we just created. | 4492 // Sanity check the scenario we just created. |
| 4499 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4493 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4500 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4494 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4501 | 4495 |
| 4502 // Hit testing for points outside the layer. | 4496 // Hit testing for points outside the layer. |
| 4503 // These corners would have been inside the un-transformed layer, but they | 4497 // These corners would have been inside the un-transformed layer, but they |
| 4504 // should not hit the correctly transformed layer. | 4498 // should not hit the correctly transformed layer. |
| 4505 gfx::Point test_point(24, 24); | 4499 gfx::Point test_point(24, 24); |
| 4506 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( | 4500 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4575 | 4569 |
| 4576 LayerImplList render_surface_layer_list; | 4570 LayerImplList render_surface_layer_list; |
| 4577 int dummy_max_texture_size = 512; | 4571 int dummy_max_texture_size = 512; |
| 4578 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4572 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4579 root->bounds(), | 4573 root->bounds(), |
| 4580 1.f, | 4574 1.f, |
| 4581 1.f, | 4575 1.f, |
| 4582 NULL, | 4576 NULL, |
| 4583 dummy_max_texture_size, | 4577 dummy_max_texture_size, |
| 4584 false, | 4578 false, |
| 4585 &render_surface_layer_list, | 4579 &render_surface_layer_list); |
| 4586 false); | |
| 4587 | 4580 |
| 4588 // Sanity check the scenario we just created. | 4581 // Sanity check the scenario we just created. |
| 4589 // The visible content rect for test_layer is actually 100x100, even though | 4582 // The visible content rect for test_layer is actually 100x100, even though |
| 4590 // its layout size is 50x50, positioned at 25x25. | 4583 // its layout size is 50x50, positioned at 25x25. |
| 4591 LayerImpl* test_layer = root->children()[0]; | 4584 LayerImpl* test_layer = root->children()[0]; |
| 4592 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), | 4585 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), |
| 4593 test_layer->visible_content_rect()); | 4586 test_layer->visible_content_rect()); |
| 4594 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4587 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4595 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4588 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4596 | 4589 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4676 | 4669 |
| 4677 LayerImplList render_surface_layer_list; | 4670 LayerImplList render_surface_layer_list; |
| 4678 int dummy_max_texture_size = 512; | 4671 int dummy_max_texture_size = 512; |
| 4679 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4672 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4680 root->bounds(), | 4673 root->bounds(), |
| 4681 1.f, | 4674 1.f, |
| 4682 1.f, | 4675 1.f, |
| 4683 NULL, | 4676 NULL, |
| 4684 dummy_max_texture_size, | 4677 dummy_max_texture_size, |
| 4685 false, | 4678 false, |
| 4686 &render_surface_layer_list, | 4679 &render_surface_layer_list); |
| 4687 false); | |
| 4688 | 4680 |
| 4689 // Sanity check the scenario we just created. | 4681 // Sanity check the scenario we just created. |
| 4690 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4682 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4691 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4683 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4692 ASSERT_EQ(456, root->render_surface()->layer_list()[0]->id()); | 4684 ASSERT_EQ(456, root->render_surface()->layer_list()[0]->id()); |
| 4693 | 4685 |
| 4694 // Hit testing for a point outside the layer should return a null pointer. | 4686 // Hit testing for a point outside the layer should return a null pointer. |
| 4695 // Despite the child layer being very large, it should be clipped to the root | 4687 // Despite the child layer being very large, it should be clipped to the root |
| 4696 // layer's bounds. | 4688 // layer's bounds. |
| 4697 gfx::Point test_point(24, 24); | 4689 gfx::Point test_point(24, 24); |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4810 | 4802 |
| 4811 LayerImplList render_surface_layer_list; | 4803 LayerImplList render_surface_layer_list; |
| 4812 int dummy_max_texture_size = 512; | 4804 int dummy_max_texture_size = 512; |
| 4813 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4805 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4814 root->bounds(), | 4806 root->bounds(), |
| 4815 1.f, | 4807 1.f, |
| 4816 1.f, | 4808 1.f, |
| 4817 NULL, | 4809 NULL, |
| 4818 dummy_max_texture_size, | 4810 dummy_max_texture_size, |
| 4819 false, | 4811 false, |
| 4820 &render_surface_layer_list, | 4812 &render_surface_layer_list); |
| 4821 false); | |
| 4822 | 4813 |
| 4823 // Sanity check the scenario we just created. | 4814 // Sanity check the scenario we just created. |
| 4824 // The grand_child is expected to create a render surface because it | 4815 // The grand_child is expected to create a render surface because it |
| 4825 // masksToBounds and is not axis aligned. | 4816 // masksToBounds and is not axis aligned. |
| 4826 ASSERT_EQ(2u, render_surface_layer_list.size()); | 4817 ASSERT_EQ(2u, render_surface_layer_list.size()); |
| 4827 ASSERT_EQ( | 4818 ASSERT_EQ( |
| 4828 1u, render_surface_layer_list[0]->render_surface()->layer_list().size()); | 4819 1u, render_surface_layer_list[0]->render_surface()->layer_list().size()); |
| 4829 ASSERT_EQ(789, | 4820 ASSERT_EQ(789, |
| 4830 render_surface_layer_list[0]->render_surface()->layer_list()[0] | 4821 render_surface_layer_list[0]->render_surface()->layer_list()[0] |
| 4831 ->id()); // grand_child's surface. | 4822 ->id()); // grand_child's surface. |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4937 | 4928 |
| 4938 LayerImplList render_surface_layer_list; | 4929 LayerImplList render_surface_layer_list; |
| 4939 int dummy_max_texture_size = 512; | 4930 int dummy_max_texture_size = 512; |
| 4940 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 4931 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 4941 root->bounds(), | 4932 root->bounds(), |
| 4942 1.f, | 4933 1.f, |
| 4943 1.f, | 4934 1.f, |
| 4944 NULL, | 4935 NULL, |
| 4945 dummy_max_texture_size, | 4936 dummy_max_texture_size, |
| 4946 false, | 4937 false, |
| 4947 &render_surface_layer_list, | 4938 &render_surface_layer_list); |
| 4948 false); | |
| 4949 | 4939 |
| 4950 // Sanity check the scenario we just created. | 4940 // Sanity check the scenario we just created. |
| 4951 ASSERT_EQ(1u, render_surface_layer_list.size()); | 4941 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 4952 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 4942 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 4953 ASSERT_EQ(456, root->render_surface()->layer_list()[0]->id()); | 4943 ASSERT_EQ(456, root->render_surface()->layer_list()[0]->id()); |
| 4954 | 4944 |
| 4955 // Hit testing for a point outside the layer should return a null pointer. | 4945 // Hit testing for a point outside the layer should return a null pointer. |
| 4956 gfx::Point test_point(69, 69); | 4946 gfx::Point test_point(69, 69); |
| 4957 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( | 4947 LayerImpl* result_layer = LayerTreeHostCommon::FindLayerThatIsHitByPoint( |
| 4958 test_point, render_surface_layer_list); | 4948 test_point, render_surface_layer_list); |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5055 | 5045 |
| 5056 LayerImplList render_surface_layer_list; | 5046 LayerImplList render_surface_layer_list; |
| 5057 int dummy_max_texture_size = 512; | 5047 int dummy_max_texture_size = 512; |
| 5058 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5048 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5059 root->bounds(), | 5049 root->bounds(), |
| 5060 1.f, | 5050 1.f, |
| 5061 1.f, | 5051 1.f, |
| 5062 NULL, | 5052 NULL, |
| 5063 dummy_max_texture_size, | 5053 dummy_max_texture_size, |
| 5064 false, | 5054 false, |
| 5065 &render_surface_layer_list, | 5055 &render_surface_layer_list); |
| 5066 false); | |
| 5067 | 5056 |
| 5068 // Sanity check the scenario we just created. | 5057 // Sanity check the scenario we just created. |
| 5069 ASSERT_TRUE(child1); | 5058 ASSERT_TRUE(child1); |
| 5070 ASSERT_TRUE(child2); | 5059 ASSERT_TRUE(child2); |
| 5071 ASSERT_TRUE(grand_child1); | 5060 ASSERT_TRUE(grand_child1); |
| 5072 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5061 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5073 ASSERT_EQ(4u, root->render_surface()->layer_list().size()); | 5062 ASSERT_EQ(4u, root->render_surface()->layer_list().size()); |
| 5074 ASSERT_EQ(1, root->render_surface()->layer_list()[0]->id()); // root layer | 5063 ASSERT_EQ(1, root->render_surface()->layer_list()[0]->id()); // root layer |
| 5075 ASSERT_EQ(2, root->render_surface()->layer_list()[1]->id()); // child1 | 5064 ASSERT_EQ(2, root->render_surface()->layer_list()[1]->id()); // child1 |
| 5076 ASSERT_EQ(4, root->render_surface()->layer_list()[2]->id()); // grand_child1 | 5065 ASSERT_EQ(4, root->render_surface()->layer_list()[2]->id()); // grand_child1 |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5209 | 5198 |
| 5210 LayerImplList render_surface_layer_list; | 5199 LayerImplList render_surface_layer_list; |
| 5211 int dummy_max_texture_size = 512; | 5200 int dummy_max_texture_size = 512; |
| 5212 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5201 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5213 root->bounds(), | 5202 root->bounds(), |
| 5214 1.f, | 5203 1.f, |
| 5215 1.f, | 5204 1.f, |
| 5216 NULL, | 5205 NULL, |
| 5217 dummy_max_texture_size, | 5206 dummy_max_texture_size, |
| 5218 false, | 5207 false, |
| 5219 &render_surface_layer_list, | 5208 &render_surface_layer_list); |
| 5220 false); | |
| 5221 | 5209 |
| 5222 // Sanity check the scenario we just created. | 5210 // Sanity check the scenario we just created. |
| 5223 ASSERT_TRUE(child1); | 5211 ASSERT_TRUE(child1); |
| 5224 ASSERT_TRUE(child2); | 5212 ASSERT_TRUE(child2); |
| 5225 ASSERT_TRUE(grand_child1); | 5213 ASSERT_TRUE(grand_child1); |
| 5226 ASSERT_TRUE(child1->render_surface()); | 5214 ASSERT_TRUE(child1->render_surface()); |
| 5227 ASSERT_TRUE(child2->render_surface()); | 5215 ASSERT_TRUE(child2->render_surface()); |
| 5228 ASSERT_TRUE(grand_child1->render_surface()); | 5216 ASSERT_TRUE(grand_child1->render_surface()); |
| 5229 ASSERT_EQ(4u, render_surface_layer_list.size()); | 5217 ASSERT_EQ(4u, render_surface_layer_list.size()); |
| 5230 // The root surface has the root layer, and child1's and child2's render | 5218 // The root surface has the root layer, and child1's and child2's render |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5327 | 5315 |
| 5328 LayerImplList render_surface_layer_list; | 5316 LayerImplList render_surface_layer_list; |
| 5329 int dummy_max_texture_size = 512; | 5317 int dummy_max_texture_size = 512; |
| 5330 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5318 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5331 root->bounds(), | 5319 root->bounds(), |
| 5332 1.f, | 5320 1.f, |
| 5333 1.f, | 5321 1.f, |
| 5334 NULL, | 5322 NULL, |
| 5335 dummy_max_texture_size, | 5323 dummy_max_texture_size, |
| 5336 false, | 5324 false, |
| 5337 &render_surface_layer_list, | 5325 &render_surface_layer_list); |
| 5338 false); | |
| 5339 | 5326 |
| 5340 // Sanity check the scenario we just created. | 5327 // Sanity check the scenario we just created. |
| 5341 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5328 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5342 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 5329 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 5343 | 5330 |
| 5344 // Hit checking for any point should return a null pointer for a layer without | 5331 // Hit checking for any point should return a null pointer for a layer without |
| 5345 // any touch event handler regions. | 5332 // any touch event handler regions. |
| 5346 gfx::Point test_point(11, 11); | 5333 gfx::Point test_point(11, 11); |
| 5347 LayerImpl* result_layer = | 5334 LayerImpl* result_layer = |
| 5348 LayerTreeHostCommon::FindLayerThatIsHitByPointInTouchHandlerRegion( | 5335 LayerTreeHostCommon::FindLayerThatIsHitByPointInTouchHandlerRegion( |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5425 | 5412 |
| 5426 LayerImplList render_surface_layer_list; | 5413 LayerImplList render_surface_layer_list; |
| 5427 int dummy_max_texture_size = 512; | 5414 int dummy_max_texture_size = 512; |
| 5428 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5415 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5429 root->bounds(), | 5416 root->bounds(), |
| 5430 1.f, | 5417 1.f, |
| 5431 1.f, | 5418 1.f, |
| 5432 NULL, | 5419 NULL, |
| 5433 dummy_max_texture_size, | 5420 dummy_max_texture_size, |
| 5434 false, | 5421 false, |
| 5435 &render_surface_layer_list, | 5422 &render_surface_layer_list); |
| 5436 false); | |
| 5437 | 5423 |
| 5438 // Sanity check the scenario we just created. | 5424 // Sanity check the scenario we just created. |
| 5439 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5425 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5440 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 5426 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 5441 ASSERT_FALSE(root->screen_space_transform().IsInvertible()); | 5427 ASSERT_FALSE(root->screen_space_transform().IsInvertible()); |
| 5442 | 5428 |
| 5443 // Hit checking any point should not hit the touch handler region on the | 5429 // Hit checking any point should not hit the touch handler region on the |
| 5444 // layer. If the invertible matrix is accidentally ignored and treated like an | 5430 // layer. If the invertible matrix is accidentally ignored and treated like an |
| 5445 // identity, then the hit testing will incorrectly hit the layer when it | 5431 // identity, then the hit testing will incorrectly hit the layer when it |
| 5446 // shouldn't. | 5432 // shouldn't. |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5513 | 5499 |
| 5514 LayerImplList render_surface_layer_list; | 5500 LayerImplList render_surface_layer_list; |
| 5515 int dummy_max_texture_size = 512; | 5501 int dummy_max_texture_size = 512; |
| 5516 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5502 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5517 root->bounds(), | 5503 root->bounds(), |
| 5518 1.f, | 5504 1.f, |
| 5519 1.f, | 5505 1.f, |
| 5520 NULL, | 5506 NULL, |
| 5521 dummy_max_texture_size, | 5507 dummy_max_texture_size, |
| 5522 false, | 5508 false, |
| 5523 &render_surface_layer_list, | 5509 &render_surface_layer_list); |
| 5524 false); | |
| 5525 | 5510 |
| 5526 // Sanity check the scenario we just created. | 5511 // Sanity check the scenario we just created. |
| 5527 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5512 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5528 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 5513 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 5529 | 5514 |
| 5530 // Hit checking for a point outside the layer should return a null pointer. | 5515 // Hit checking for a point outside the layer should return a null pointer. |
| 5531 gfx::Point test_point(49, 49); | 5516 gfx::Point test_point(49, 49); |
| 5532 LayerImpl* result_layer = | 5517 LayerImpl* result_layer = |
| 5533 LayerTreeHostCommon::FindLayerThatIsHitByPointInTouchHandlerRegion( | 5518 LayerTreeHostCommon::FindLayerThatIsHitByPointInTouchHandlerRegion( |
| 5534 test_point, render_surface_layer_list); | 5519 test_point, render_surface_layer_list); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5619 | 5604 |
| 5620 LayerImplList render_surface_layer_list; | 5605 LayerImplList render_surface_layer_list; |
| 5621 int dummy_max_texture_size = 512; | 5606 int dummy_max_texture_size = 512; |
| 5622 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5607 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5623 root->bounds(), | 5608 root->bounds(), |
| 5624 1.f, | 5609 1.f, |
| 5625 1.f, | 5610 1.f, |
| 5626 NULL, | 5611 NULL, |
| 5627 dummy_max_texture_size, | 5612 dummy_max_texture_size, |
| 5628 false, | 5613 false, |
| 5629 &render_surface_layer_list, | 5614 &render_surface_layer_list); |
| 5630 false); | |
| 5631 | 5615 |
| 5632 // Sanity check the scenario we just created. | 5616 // Sanity check the scenario we just created. |
| 5633 // The visible content rect for test_layer is actually 100x100, even though | 5617 // The visible content rect for test_layer is actually 100x100, even though |
| 5634 // its layout size is 50x50, positioned at 25x25. | 5618 // its layout size is 50x50, positioned at 25x25. |
| 5635 LayerImpl* test_layer = root->children()[0]; | 5619 LayerImpl* test_layer = root->children()[0]; |
| 5636 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), test_layer->visible_content_rect()); | 5620 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), test_layer->visible_content_rect()); |
| 5637 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5621 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5638 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 5622 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 5639 | 5623 |
| 5640 // Hit checking for a point outside the layer should return a null pointer | 5624 // Hit checking for a point outside the layer should return a null pointer |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5732 float page_scale_factor = 5.f; | 5716 float page_scale_factor = 5.f; |
| 5733 gfx::Size scaled_bounds_for_root = gfx::ToCeiledSize( | 5717 gfx::Size scaled_bounds_for_root = gfx::ToCeiledSize( |
| 5734 gfx::ScaleSize(root->bounds(), device_scale_factor * page_scale_factor)); | 5718 gfx::ScaleSize(root->bounds(), device_scale_factor * page_scale_factor)); |
| 5735 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5719 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5736 scaled_bounds_for_root, | 5720 scaled_bounds_for_root, |
| 5737 device_scale_factor, | 5721 device_scale_factor, |
| 5738 page_scale_factor, | 5722 page_scale_factor, |
| 5739 root.get(), | 5723 root.get(), |
| 5740 dummy_max_texture_size, | 5724 dummy_max_texture_size, |
| 5741 false, | 5725 false, |
| 5742 &render_surface_layer_list, | 5726 &render_surface_layer_list); |
| 5743 false); | |
| 5744 | 5727 |
| 5745 // Sanity check the scenario we just created. | 5728 // Sanity check the scenario we just created. |
| 5746 // The visible content rect for test_layer is actually 100x100, even though | 5729 // The visible content rect for test_layer is actually 100x100, even though |
| 5747 // its layout size is 50x50, positioned at 25x25. | 5730 // its layout size is 50x50, positioned at 25x25. |
| 5748 LayerImpl* test_layer = root->children()[0]; | 5731 LayerImpl* test_layer = root->children()[0]; |
| 5749 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5732 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5750 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 5733 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 5751 | 5734 |
| 5752 // Check whether the child layer fits into the root after scaled. | 5735 // Check whether the child layer fits into the root after scaled. |
| 5753 EXPECT_RECT_EQ(gfx::Rect(test_layer->content_bounds()), | 5736 EXPECT_RECT_EQ(gfx::Rect(test_layer->content_bounds()), |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5872 | 5855 |
| 5873 LayerImplList render_surface_layer_list; | 5856 LayerImplList render_surface_layer_list; |
| 5874 int dummy_max_texture_size = 512; | 5857 int dummy_max_texture_size = 512; |
| 5875 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 5858 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 5876 root->bounds(), | 5859 root->bounds(), |
| 5877 1.f, | 5860 1.f, |
| 5878 1.f, | 5861 1.f, |
| 5879 NULL, | 5862 NULL, |
| 5880 dummy_max_texture_size, | 5863 dummy_max_texture_size, |
| 5881 false, | 5864 false, |
| 5882 &render_surface_layer_list, | 5865 &render_surface_layer_list); |
| 5883 false); | |
| 5884 | 5866 |
| 5885 // Sanity check the scenario we just created. | 5867 // Sanity check the scenario we just created. |
| 5886 ASSERT_EQ(1u, render_surface_layer_list.size()); | 5868 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 5887 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); | 5869 ASSERT_EQ(1u, root->render_surface()->layer_list().size()); |
| 5888 ASSERT_EQ(456, root->render_surface()->layer_list()[0]->id()); | 5870 ASSERT_EQ(456, root->render_surface()->layer_list()[0]->id()); |
| 5889 | 5871 |
| 5890 // Hit checking for a point outside the layer should return a null pointer. | 5872 // Hit checking for a point outside the layer should return a null pointer. |
| 5891 // Despite the child layer being very large, it should be clipped to the root | 5873 // Despite the child layer being very large, it should be clipped to the root |
| 5892 // layer's bounds. | 5874 // layer's bounds. |
| 5893 gfx::Point test_point(24, 24); | 5875 gfx::Point test_point(24, 24); |
| (...skipping 1423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7317 | 7299 |
| 7318 std::vector<LayerImpl*> render_surface_layer_list; | 7300 std::vector<LayerImpl*> render_surface_layer_list; |
| 7319 int dummy_max_texture_size = 512; | 7301 int dummy_max_texture_size = 512; |
| 7320 LayerTreeHostCommon::CalculateDrawProperties(root.get(), | 7302 LayerTreeHostCommon::CalculateDrawProperties(root.get(), |
| 7321 root->bounds(), | 7303 root->bounds(), |
| 7322 1.f, | 7304 1.f, |
| 7323 1.f, | 7305 1.f, |
| 7324 NULL, | 7306 NULL, |
| 7325 dummy_max_texture_size, | 7307 dummy_max_texture_size, |
| 7326 false, | 7308 false, |
| 7327 &render_surface_layer_list, | 7309 &render_surface_layer_list); |
| 7328 false); | |
| 7329 | 7310 |
| 7330 // We should have one render surface and two layers. The child | 7311 // We should have one render surface and two layers. The child |
| 7331 // layer should be included even though it is transparent. | 7312 // layer should be included even though it is transparent. |
| 7332 ASSERT_EQ(1u, render_surface_layer_list.size()); | 7313 ASSERT_EQ(1u, render_surface_layer_list.size()); |
| 7333 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); | 7314 ASSERT_EQ(2u, root->render_surface()->layer_list().size()); |
| 7334 } | 7315 } |
| 7335 | 7316 |
| 7336 typedef std::tr1::tuple<bool, bool> LCDTextTestParam; | 7317 typedef std::tr1::tuple<bool, bool> LCDTextTestParam; |
| 7337 class LCDTextTest : public testing::TestWithParam<LCDTextTestParam> { | 7318 class LCDTextTest : public testing::TestWithParam<LCDTextTestParam> { |
| 7338 protected: | 7319 protected: |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7466 EXPECT_EQ(can_use_lcd_text_, child_->can_use_lcd_text()); | 7447 EXPECT_EQ(can_use_lcd_text_, child_->can_use_lcd_text()); |
| 7467 EXPECT_EQ(can_use_lcd_text_, grand_child_->can_use_lcd_text()); | 7448 EXPECT_EQ(can_use_lcd_text_, grand_child_->can_use_lcd_text()); |
| 7468 } | 7449 } |
| 7469 | 7450 |
| 7470 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, | 7451 INSTANTIATE_TEST_CASE_P(LayerTreeHostCommonTest, |
| 7471 LCDTextTest, | 7452 LCDTextTest, |
| 7472 testing::Combine(testing::Bool(), testing::Bool())); | 7453 testing::Combine(testing::Bool(), testing::Bool())); |
| 7473 | 7454 |
| 7474 } // namespace | 7455 } // namespace |
| 7475 } // namespace cc | 7456 } // namespace cc |
| OLD | NEW |