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

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

Issue 634683003: Converted LayerImpl::bounds() to return SizeF. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_impl.cc ('k') | cc/trees/occlusion_tracker_unittest.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_impl.h" 5 #include "cc/trees/layer_tree_impl.h"
6 6
7 #include "cc/layers/heads_up_display_layer_impl.h" 7 #include "cc/layers/heads_up_display_layer_impl.h"
8 #include "cc/layers/layer.h" 8 #include "cc/layers/layer.h"
9 #include "cc/test/fake_impl_proxy.h" 9 #include "cc/test/fake_impl_proxy.h"
10 #include "cc/test/fake_layer_tree_host_impl.h" 10 #include "cc/test/fake_layer_tree_host_impl.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 gfx::Size bounds(100, 100); 52 gfx::Size bounds(100, 100);
53 SetLayerPropertiesForTesting(root.get(), 53 SetLayerPropertiesForTesting(root.get(),
54 identity_matrix, 54 identity_matrix,
55 transform_origin, 55 transform_origin,
56 position, 56 position,
57 bounds, 57 bounds,
58 true, 58 true,
59 false); 59 false);
60 root->SetDrawsContent(true); 60 root->SetDrawsContent(true);
61 61
62 host_impl().SetViewportSize(root->bounds()); 62 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
63 host_impl().active_tree()->SetRootLayer(root.Pass()); 63 host_impl().active_tree()->SetRootLayer(root.Pass());
64 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 64 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
65 65
66 // Sanity check the scenario we just created. 66 // Sanity check the scenario we just created.
67 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 67 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
68 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 68 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
69 69
70 // Hit testing for a point outside the layer should return a null pointer. 70 // Hit testing for a point outside the layer should return a null pointer.
71 gfx::Point test_point(101, 101); 71 gfx::Point test_point(101, 101);
72 LayerImpl* result_layer = 72 LayerImpl* result_layer =
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 gfx::Size bounds(100, 100); 176 gfx::Size bounds(100, 100);
177 SetLayerPropertiesForTesting(root.get(), 177 SetLayerPropertiesForTesting(root.get(),
178 uninvertible_transform, 178 uninvertible_transform,
179 transform_origin, 179 transform_origin,
180 position, 180 position,
181 bounds, 181 bounds,
182 true, 182 true,
183 false); 183 false);
184 root->SetDrawsContent(true); 184 root->SetDrawsContent(true);
185 185
186 host_impl().SetViewportSize(root->bounds()); 186 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
187 host_impl().active_tree()->SetRootLayer(root.Pass()); 187 host_impl().active_tree()->SetRootLayer(root.Pass());
188 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 188 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
189 // Sanity check the scenario we just created. 189 // Sanity check the scenario we just created.
190 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 190 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
191 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 191 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
192 ASSERT_FALSE(root_layer()->screen_space_transform().IsInvertible()); 192 ASSERT_FALSE(root_layer()->screen_space_transform().IsInvertible());
193 193
194 // Hit testing any point should not hit the layer. If the invertible matrix is 194 // Hit testing any point should not hit the layer. If the invertible matrix is
195 // accidentally ignored and treated like an identity, then the hit testing 195 // accidentally ignored and treated like an identity, then the hit testing
196 // will incorrectly hit the layer when it shouldn't. 196 // will incorrectly hit the layer when it shouldn't.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 gfx::Size bounds(100, 100); 242 gfx::Size bounds(100, 100);
243 SetLayerPropertiesForTesting(root.get(), 243 SetLayerPropertiesForTesting(root.get(),
244 identity_matrix, 244 identity_matrix,
245 transform_origin, 245 transform_origin,
246 position, 246 position,
247 bounds, 247 bounds,
248 true, 248 true,
249 false); 249 false);
250 root->SetDrawsContent(true); 250 root->SetDrawsContent(true);
251 251
252 host_impl().SetViewportSize(root->bounds()); 252 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
253 host_impl().active_tree()->SetRootLayer(root.Pass()); 253 host_impl().active_tree()->SetRootLayer(root.Pass());
254 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 254 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
255 255
256 // Sanity check the scenario we just created. 256 // Sanity check the scenario we just created.
257 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 257 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
258 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 258 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
259 259
260 // Hit testing for a point outside the layer should return a null pointer. 260 // Hit testing for a point outside the layer should return a null pointer.
261 gfx::Point test_point(49, 49); 261 gfx::Point test_point(49, 49);
262 LayerImpl* result_layer = 262 LayerImpl* result_layer =
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 gfx::Size bounds(100, 100); 298 gfx::Size bounds(100, 100);
299 SetLayerPropertiesForTesting(root.get(), 299 SetLayerPropertiesForTesting(root.get(),
300 rotation45_degrees_about_center, 300 rotation45_degrees_about_center,
301 transform_origin, 301 transform_origin,
302 position, 302 position,
303 bounds, 303 bounds,
304 true, 304 true,
305 false); 305 false);
306 root->SetDrawsContent(true); 306 root->SetDrawsContent(true);
307 307
308 host_impl().SetViewportSize(root->bounds()); 308 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
309 host_impl().active_tree()->SetRootLayer(root.Pass()); 309 host_impl().active_tree()->SetRootLayer(root.Pass());
310 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 310 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
311 311
312 // Sanity check the scenario we just created. 312 // Sanity check the scenario we just created.
313 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 313 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
314 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 314 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
315 315
316 // Hit testing for points outside the layer. 316 // Hit testing for points outside the layer.
317 // These corners would have been inside the un-transformed layer, but they 317 // These corners would have been inside the un-transformed layer, but they
318 // should not hit the correctly transformed layer. 318 // should not hit the correctly transformed layer.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 SetLayerPropertiesForTesting( 367 SetLayerPropertiesForTesting(
368 root.get(), 368 root.get(),
369 perspective_projection_about_center * translation_by_z, 369 perspective_projection_about_center * translation_by_z,
370 transform_origin, 370 transform_origin,
371 position, 371 position,
372 bounds, 372 bounds,
373 true, 373 true,
374 false); 374 false);
375 root->SetDrawsContent(true); 375 root->SetDrawsContent(true);
376 376
377 host_impl().SetViewportSize(root->bounds()); 377 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
378 host_impl().active_tree()->SetRootLayer(root.Pass()); 378 host_impl().active_tree()->SetRootLayer(root.Pass());
379 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 379 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
380 380
381 // Sanity check the scenario we just created. 381 // Sanity check the scenario we just created.
382 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 382 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
383 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 383 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
384 384
385 // Hit testing for points outside the layer. 385 // Hit testing for points outside the layer.
386 // These corners would have been inside the un-transformed layer, but they 386 // These corners would have been inside the un-transformed layer, but they
387 // should not hit the correctly transformed layer. 387 // should not hit the correctly transformed layer.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 false); 447 false);
448 448
449 // override content bounds and contents scale 449 // override content bounds and contents scale
450 test_layer->SetContentBounds(gfx::Size(100, 100)); 450 test_layer->SetContentBounds(gfx::Size(100, 100));
451 test_layer->SetContentsScale(2, 2); 451 test_layer->SetContentsScale(2, 2);
452 452
453 test_layer->SetDrawsContent(true); 453 test_layer->SetDrawsContent(true);
454 root->AddChild(test_layer.Pass()); 454 root->AddChild(test_layer.Pass());
455 } 455 }
456 456
457 host_impl().SetViewportSize(root->bounds()); 457 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
458 host_impl().active_tree()->SetRootLayer(root.Pass()); 458 host_impl().active_tree()->SetRootLayer(root.Pass());
459 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 459 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
460 460
461 // Sanity check the scenario we just created. 461 // Sanity check the scenario we just created.
462 // The visible content rect for test_layer is actually 100x100, even though 462 // The visible content rect for test_layer is actually 100x100, even though
463 // its layout size is 50x50, positioned at 25x25. 463 // its layout size is 50x50, positioned at 25x25.
464 LayerImpl* test_layer = 464 LayerImpl* test_layer =
465 host_impl().active_tree()->root_layer()->children()[0]; 465 host_impl().active_tree()->root_layer()->children()[0];
466 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), test_layer->visible_content_rect()); 466 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), test_layer->visible_content_rect());
467 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 467 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 transform_origin, 538 transform_origin,
539 position, 539 position,
540 bounds, 540 bounds,
541 true, 541 true,
542 false); 542 false);
543 child->SetDrawsContent(true); 543 child->SetDrawsContent(true);
544 clipping_layer->AddChild(child.Pass()); 544 clipping_layer->AddChild(child.Pass());
545 root->AddChild(clipping_layer.Pass()); 545 root->AddChild(clipping_layer.Pass());
546 } 546 }
547 547
548 host_impl().SetViewportSize(root->bounds()); 548 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
549 host_impl().active_tree()->SetRootLayer(root.Pass()); 549 host_impl().active_tree()->SetRootLayer(root.Pass());
550 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 550 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
551 551
552 // Sanity check the scenario we just created. 552 // Sanity check the scenario we just created.
553 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 553 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
554 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 554 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
555 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id()); 555 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id());
556 556
557 // Hit testing for a point outside the layer should return a null pointer. 557 // Hit testing for a point outside the layer should return a null pointer.
558 // Despite the child layer being very large, it should be clipped to the root 558 // Despite the child layer being very large, it should be clipped to the root
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 bounds, 663 bounds,
664 true, 664 true,
665 false); 665 false);
666 rotated_leaf->SetDrawsContent(true); 666 rotated_leaf->SetDrawsContent(true);
667 667
668 grand_child->AddChild(rotated_leaf.Pass()); 668 grand_child->AddChild(rotated_leaf.Pass());
669 child->AddChild(grand_child.Pass()); 669 child->AddChild(grand_child.Pass());
670 root->AddChild(child.Pass()); 670 root->AddChild(child.Pass());
671 } 671 }
672 672
673 host_impl().SetViewportSize(root->bounds()); 673 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
674 host_impl().active_tree()->SetRootLayer(root.Pass()); 674 host_impl().active_tree()->SetRootLayer(root.Pass());
675 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 675 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
676 676
677 // Sanity check the scenario we just created. 677 // Sanity check the scenario we just created.
678 // The grand_child is expected to create a render surface because it 678 // The grand_child is expected to create a render surface because it
679 // MasksToBounds and is not axis aligned. 679 // MasksToBounds and is not axis aligned.
680 ASSERT_EQ(2u, RenderSurfaceLayerList().size()); 680 ASSERT_EQ(2u, RenderSurfaceLayerList().size());
681 ASSERT_EQ( 681 ASSERT_EQ(
682 1u, 682 1u,
683 RenderSurfaceLayerList().at(0)->render_surface()->layer_list().size()); 683 RenderSurfaceLayerList().at(0)->render_surface()->layer_list().size());
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 transform_origin, 786 transform_origin,
787 position, 787 position,
788 bounds, 788 bounds,
789 true, 789 true,
790 false); 790 false);
791 child->SetDrawsContent(true); 791 child->SetDrawsContent(true);
792 intermediate_layer->AddChild(child.Pass()); 792 intermediate_layer->AddChild(child.Pass());
793 root->AddChild(intermediate_layer.Pass()); 793 root->AddChild(intermediate_layer.Pass());
794 } 794 }
795 795
796 host_impl().SetViewportSize(root->bounds()); 796 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
797 host_impl().active_tree()->SetRootLayer(root.Pass()); 797 host_impl().active_tree()->SetRootLayer(root.Pass());
798 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 798 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
799 799
800 // Sanity check the scenario we just created. 800 // Sanity check the scenario we just created.
801 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 801 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
802 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 802 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
803 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id()); 803 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id());
804 804
805 // Hit testing for a point outside the layer should return a null pointer. 805 // Hit testing for a point outside the layer should return a null pointer.
806 gfx::Point test_point(69, 69); 806 gfx::Point test_point(69, 69);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
894 894
895 child1->AddChild(grand_child1.Pass()); 895 child1->AddChild(grand_child1.Pass());
896 root->AddChild(child1.Pass()); 896 root->AddChild(child1.Pass());
897 root->AddChild(child2.Pass()); 897 root->AddChild(child2.Pass());
898 } 898 }
899 899
900 LayerImpl* child1 = root->children()[0]; 900 LayerImpl* child1 = root->children()[0];
901 LayerImpl* child2 = root->children()[1]; 901 LayerImpl* child2 = root->children()[1];
902 LayerImpl* grand_child1 = child1->children()[0]; 902 LayerImpl* grand_child1 = child1->children()[0];
903 903
904 host_impl().SetViewportSize(root->bounds()); 904 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
905 host_impl().active_tree()->SetRootLayer(root.Pass()); 905 host_impl().active_tree()->SetRootLayer(root.Pass());
906 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 906 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
907 907
908 // Sanity check the scenario we just created. 908 // Sanity check the scenario we just created.
909 ASSERT_TRUE(child1); 909 ASSERT_TRUE(child1);
910 ASSERT_TRUE(child2); 910 ASSERT_TRUE(child2);
911 ASSERT_TRUE(grand_child1); 911 ASSERT_TRUE(grand_child1);
912 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 912 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
913 913
914 RenderSurfaceImpl* root_render_surface = root_layer()->render_surface(); 914 RenderSurfaceImpl* root_render_surface = root_layer()->render_surface();
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 1042
1043 child1->AddChild(grand_child1.Pass()); 1043 child1->AddChild(grand_child1.Pass());
1044 root->AddChild(child1.Pass()); 1044 root->AddChild(child1.Pass());
1045 root->AddChild(child2.Pass()); 1045 root->AddChild(child2.Pass());
1046 } 1046 }
1047 1047
1048 LayerImpl* child1 = root->children()[0]; 1048 LayerImpl* child1 = root->children()[0];
1049 LayerImpl* child2 = root->children()[1]; 1049 LayerImpl* child2 = root->children()[1];
1050 LayerImpl* grand_child1 = child1->children()[0]; 1050 LayerImpl* grand_child1 = child1->children()[0];
1051 1051
1052 host_impl().SetViewportSize(root->bounds()); 1052 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1053 host_impl().active_tree()->SetRootLayer(root.Pass()); 1053 host_impl().active_tree()->SetRootLayer(root.Pass());
1054 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1054 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1055 1055
1056 // Sanity check the scenario we just created. 1056 // Sanity check the scenario we just created.
1057 ASSERT_TRUE(child1); 1057 ASSERT_TRUE(child1);
1058 ASSERT_TRUE(child2); 1058 ASSERT_TRUE(child2);
1059 ASSERT_TRUE(grand_child1); 1059 ASSERT_TRUE(grand_child1);
1060 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1060 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1061 1061
1062 RenderSurfaceImpl* root_render_surface = 1062 RenderSurfaceImpl* root_render_surface =
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1160 grand_child->SetDrawsContent(true); 1160 grand_child->SetDrawsContent(true);
1161 grand_child->SetForceRenderSurface(true); 1161 grand_child->SetForceRenderSurface(true);
1162 1162
1163 // This should let |grand_child| "escape" |child|'s clip. 1163 // This should let |grand_child| "escape" |child|'s clip.
1164 grand_child->SetClipParent(root.get()); 1164 grand_child->SetClipParent(root.get());
1165 1165
1166 child->AddChild(grand_child.Pass()); 1166 child->AddChild(grand_child.Pass());
1167 root->AddChild(child.Pass()); 1167 root->AddChild(child.Pass());
1168 } 1168 }
1169 1169
1170 host_impl().SetViewportSize(root->bounds()); 1170 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1171 host_impl().active_tree()->SetRootLayer(root.Pass()); 1171 host_impl().active_tree()->SetRootLayer(root.Pass());
1172 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1172 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1173 1173
1174 gfx::Point test_point = gfx::Point(12, 52); 1174 gfx::Point test_point = gfx::Point(12, 52);
1175 LayerImpl* result_layer = 1175 LayerImpl* result_layer =
1176 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 1176 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
1177 ASSERT_TRUE(result_layer); 1177 ASSERT_TRUE(result_layer);
1178 EXPECT_EQ(4, result_layer->id()); 1178 EXPECT_EQ(4, result_layer->id());
1179 } 1179 }
1180 1180
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1235 true, 1235 true,
1236 false); 1236 false);
1237 grand_child->SetDrawsContent(true); 1237 grand_child->SetDrawsContent(true);
1238 grand_child->SetForceRenderSurface(true); 1238 grand_child->SetForceRenderSurface(true);
1239 1239
1240 scroll_child->AddChild(grand_child.Pass()); 1240 scroll_child->AddChild(grand_child.Pass());
1241 root->AddChild(scroll_child.Pass()); 1241 root->AddChild(scroll_child.Pass());
1242 root->AddChild(child.Pass()); 1242 root->AddChild(child.Pass());
1243 } 1243 }
1244 1244
1245 host_impl().SetViewportSize(root->bounds()); 1245 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1246 host_impl().active_tree()->SetRootLayer(root.Pass()); 1246 host_impl().active_tree()->SetRootLayer(root.Pass());
1247 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1247 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1248 1248
1249 gfx::Point test_point = gfx::Point(12, 52); 1249 gfx::Point test_point = gfx::Point(12, 52);
1250 LayerImpl* result_layer = 1250 LayerImpl* result_layer =
1251 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 1251 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
1252 // The |test_point| should have been clipped away by |child|, the scroll 1252 // The |test_point| should have been clipped away by |child|, the scroll
1253 // parent, so the only thing that should be hit is |root|. 1253 // parent, so the only thing that should be hit is |root|.
1254 ASSERT_TRUE(result_layer); 1254 ASSERT_TRUE(result_layer);
1255 ASSERT_EQ(1, result_layer->id()); 1255 ASSERT_EQ(1, result_layer->id());
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1328 1328
1329 child1->AddChild(grand_child1.Pass()); 1329 child1->AddChild(grand_child1.Pass());
1330 root->AddChild(child1.Pass()); 1330 root->AddChild(child1.Pass());
1331 root->AddChild(child2.Pass()); 1331 root->AddChild(child2.Pass());
1332 } 1332 }
1333 1333
1334 LayerImpl* child1 = root->children()[0]; 1334 LayerImpl* child1 = root->children()[0];
1335 LayerImpl* child2 = root->children()[1]; 1335 LayerImpl* child2 = root->children()[1];
1336 LayerImpl* grand_child1 = child1->children()[0]; 1336 LayerImpl* grand_child1 = child1->children()[0];
1337 1337
1338 host_impl().SetViewportSize(root->bounds()); 1338 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1339 host_impl().active_tree()->SetRootLayer(root.Pass()); 1339 host_impl().active_tree()->SetRootLayer(root.Pass());
1340 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1340 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1341 1341
1342 // Sanity check the scenario we just created. 1342 // Sanity check the scenario we just created.
1343 ASSERT_TRUE(child1); 1343 ASSERT_TRUE(child1);
1344 ASSERT_TRUE(child2); 1344 ASSERT_TRUE(child2);
1345 ASSERT_TRUE(grand_child1); 1345 ASSERT_TRUE(grand_child1);
1346 ASSERT_TRUE(child1->render_surface()); 1346 ASSERT_TRUE(child1->render_surface());
1347 ASSERT_TRUE(child2->render_surface()); 1347 ASSERT_TRUE(child2->render_surface());
1348 ASSERT_TRUE(grand_child1->render_surface()); 1348 ASSERT_TRUE(grand_child1->render_surface());
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 gfx::Size bounds(100, 100); 1418 gfx::Size bounds(100, 100);
1419 SetLayerPropertiesForTesting(root.get(), 1419 SetLayerPropertiesForTesting(root.get(),
1420 identity_matrix, 1420 identity_matrix,
1421 transform_origin, 1421 transform_origin,
1422 position, 1422 position,
1423 bounds, 1423 bounds,
1424 true, 1424 true,
1425 false); 1425 false);
1426 root->SetDrawsContent(true); 1426 root->SetDrawsContent(true);
1427 1427
1428 host_impl().SetViewportSize(root->bounds()); 1428 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1429 host_impl().active_tree()->SetRootLayer(root.Pass()); 1429 host_impl().active_tree()->SetRootLayer(root.Pass());
1430 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1430 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1431 1431
1432 // Sanity check the scenario we just created. 1432 // Sanity check the scenario we just created.
1433 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1433 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1434 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1434 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1435 1435
1436 // Hit checking for any point should return a null pointer for a layer without 1436 // Hit checking for any point should return a null pointer for a layer without
1437 // any touch event handler regions. 1437 // any touch event handler regions.
1438 gfx::Point test_point(11, 11); 1438 gfx::Point test_point(11, 11);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 SetLayerPropertiesForTesting(root.get(), 1507 SetLayerPropertiesForTesting(root.get(),
1508 uninvertible_transform, 1508 uninvertible_transform,
1509 transform_origin, 1509 transform_origin,
1510 position, 1510 position,
1511 bounds, 1511 bounds,
1512 true, 1512 true,
1513 false); 1513 false);
1514 root->SetDrawsContent(true); 1514 root->SetDrawsContent(true);
1515 root->SetTouchEventHandlerRegion(touch_handler_region); 1515 root->SetTouchEventHandlerRegion(touch_handler_region);
1516 1516
1517 host_impl().SetViewportSize(root->bounds()); 1517 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1518 host_impl().active_tree()->SetRootLayer(root.Pass()); 1518 host_impl().active_tree()->SetRootLayer(root.Pass());
1519 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1519 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1520 1520
1521 // Sanity check the scenario we just created. 1521 // Sanity check the scenario we just created.
1522 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1522 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1523 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1523 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1524 ASSERT_FALSE(root_layer()->screen_space_transform().IsInvertible()); 1524 ASSERT_FALSE(root_layer()->screen_space_transform().IsInvertible());
1525 1525
1526 // Hit checking any point should not hit the touch handler region on the 1526 // Hit checking any point should not hit the touch handler region on the
1527 // layer. If the invertible matrix is accidentally ignored and treated like an 1527 // layer. If the invertible matrix is accidentally ignored and treated like an
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1585 SetLayerPropertiesForTesting(root.get(), 1585 SetLayerPropertiesForTesting(root.get(),
1586 identity_matrix, 1586 identity_matrix,
1587 transform_origin, 1587 transform_origin,
1588 position, 1588 position,
1589 bounds, 1589 bounds,
1590 true, 1590 true,
1591 false); 1591 false);
1592 root->SetDrawsContent(true); 1592 root->SetDrawsContent(true);
1593 root->SetTouchEventHandlerRegion(touch_handler_region); 1593 root->SetTouchEventHandlerRegion(touch_handler_region);
1594 1594
1595 host_impl().SetViewportSize(root->bounds()); 1595 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1596 host_impl().active_tree()->SetRootLayer(root.Pass()); 1596 host_impl().active_tree()->SetRootLayer(root.Pass());
1597 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1597 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1598 1598
1599 // Sanity check the scenario we just created. 1599 // Sanity check the scenario we just created.
1600 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1600 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1601 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1601 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1602 1602
1603 // Hit checking for a point outside the layer should return a null pointer. 1603 // Hit checking for a point outside the layer should return a null pointer.
1604 gfx::Point test_point(49, 49); 1604 gfx::Point test_point(49, 49);
1605 LayerImpl* result_layer = 1605 LayerImpl* result_layer =
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1681 1681
1682 // override content bounds and contents scale 1682 // override content bounds and contents scale
1683 test_layer->SetContentBounds(gfx::Size(100, 100)); 1683 test_layer->SetContentBounds(gfx::Size(100, 100));
1684 test_layer->SetContentsScale(2, 2); 1684 test_layer->SetContentsScale(2, 2);
1685 1685
1686 test_layer->SetDrawsContent(true); 1686 test_layer->SetDrawsContent(true);
1687 test_layer->SetTouchEventHandlerRegion(touch_handler_region); 1687 test_layer->SetTouchEventHandlerRegion(touch_handler_region);
1688 root->AddChild(test_layer.Pass()); 1688 root->AddChild(test_layer.Pass());
1689 } 1689 }
1690 1690
1691 host_impl().SetViewportSize(root->bounds()); 1691 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1692 host_impl().active_tree()->SetRootLayer(root.Pass()); 1692 host_impl().active_tree()->SetRootLayer(root.Pass());
1693 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1693 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1694 1694
1695 // Sanity check the scenario we just created. 1695 // Sanity check the scenario we just created.
1696 // The visible content rect for test_layer is actually 100x100, even though 1696 // The visible content rect for test_layer is actually 100x100, even though
1697 // its layout size is 50x50, positioned at 25x25. 1697 // its layout size is 50x50, positioned at 25x25.
1698 LayerImpl* test_layer = 1698 LayerImpl* test_layer =
1699 host_impl().active_tree()->root_layer()->children()[0]; 1699 host_impl().active_tree()->root_layer()->children()[0];
1700 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), test_layer->visible_content_rect()); 1700 EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 100), test_layer->visible_content_rect());
1701 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1701 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1920 position, 1920 position,
1921 bounds, 1921 bounds,
1922 true, 1922 true,
1923 false); 1923 false);
1924 child->SetDrawsContent(true); 1924 child->SetDrawsContent(true);
1925 child->SetTouchEventHandlerRegion(touch_handler_region); 1925 child->SetTouchEventHandlerRegion(touch_handler_region);
1926 clipping_layer->AddChild(child.Pass()); 1926 clipping_layer->AddChild(child.Pass());
1927 root->AddChild(clipping_layer.Pass()); 1927 root->AddChild(clipping_layer.Pass());
1928 } 1928 }
1929 1929
1930 host_impl().SetViewportSize(root->bounds()); 1930 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
1931 host_impl().active_tree()->SetRootLayer(root.Pass()); 1931 host_impl().active_tree()->SetRootLayer(root.Pass());
1932 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1932 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1933 1933
1934 // Sanity check the scenario we just created. 1934 // Sanity check the scenario we just created.
1935 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1935 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1936 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1936 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1937 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id()); 1937 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id());
1938 1938
1939 // Hit checking for a point outside the layer should return a null pointer. 1939 // Hit checking for a point outside the layer should return a null pointer.
1940 // Despite the child layer being very large, it should be clipped to the root 1940 // Despite the child layer being very large, it should be clipped to the root
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2018 identity_matrix, 2018 identity_matrix,
2019 transform_origin, 2019 transform_origin,
2020 position, 2020 position,
2021 bounds, 2021 bounds,
2022 true, 2022 true,
2023 false); 2023 false);
2024 notouch_layer->SetDrawsContent(true); 2024 notouch_layer->SetDrawsContent(true);
2025 root->AddChild(notouch_layer.Pass()); 2025 root->AddChild(notouch_layer.Pass());
2026 } 2026 }
2027 2027
2028 host_impl().SetViewportSize(root->bounds()); 2028 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
2029 host_impl().active_tree()->SetRootLayer(root.Pass()); 2029 host_impl().active_tree()->SetRootLayer(root.Pass());
2030 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2030 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2031 2031
2032 // Sanity check the scenario we just created. 2032 // Sanity check the scenario we just created.
2033 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2033 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2034 ASSERT_EQ(2u, root_layer()->render_surface()->layer_list().size()); 2034 ASSERT_EQ(2u, root_layer()->render_surface()->layer_list().size());
2035 ASSERT_EQ(123, root_layer()->render_surface()->layer_list().at(0)->id()); 2035 ASSERT_EQ(123, root_layer()->render_surface()->layer_list().at(0)->id());
2036 ASSERT_EQ(1234, root_layer()->render_surface()->layer_list().at(1)->id()); 2036 ASSERT_EQ(1234, root_layer()->render_surface()->layer_list().at(1)->id());
2037 2037
2038 gfx::Point test_point(35, 35); 2038 gfx::Point test_point(35, 35);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2080 gfx::Size bounds(100, 100); 2080 gfx::Size bounds(100, 100);
2081 SetLayerPropertiesForTesting(root.get(), 2081 SetLayerPropertiesForTesting(root.get(),
2082 identity_matrix, 2082 identity_matrix,
2083 transform_origin, 2083 transform_origin,
2084 position, 2084 position,
2085 bounds, 2085 bounds,
2086 true, 2086 true,
2087 false); 2087 false);
2088 root->SetDrawsContent(true); 2088 root->SetDrawsContent(true);
2089 2089
2090 host_impl().SetViewportSize(root->bounds()); 2090 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
2091 host_impl().active_tree()->SetRootLayer(root.Pass()); 2091 host_impl().active_tree()->SetRootLayer(root.Pass());
2092 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2092 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2093 2093
2094 // Sanity check the scenario we just created. 2094 // Sanity check the scenario we just created.
2095 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2095 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2096 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 2096 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
2097 2097
2098 LayerSelectionBound left_input; 2098 LayerSelectionBound left_input;
2099 left_input.type = SELECTION_BOUND_LEFT; 2099 left_input.type = SELECTION_BOUND_LEFT;
2100 left_input.edge_top = gfx::PointF(10, 10); 2100 left_input.edge_top = gfx::PointF(10, 10);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
2187 transform_origin, 2187 transform_origin,
2188 position, 2188 position,
2189 bounds, 2189 bounds,
2190 true, 2190 true,
2191 false); 2191 false);
2192 clipped_layer->SetDrawsContent(true); 2192 clipped_layer->SetDrawsContent(true);
2193 clipping_layer->AddChild(clipped_layer.Pass()); 2193 clipping_layer->AddChild(clipped_layer.Pass());
2194 root->AddChild(clipping_layer.Pass()); 2194 root->AddChild(clipping_layer.Pass());
2195 } 2195 }
2196 2196
2197 host_impl().SetViewportSize(root->bounds()); 2197 host_impl().SetViewportSize(gfx::ToCeiledSize(root->bounds()));
2198 host_impl().active_tree()->SetRootLayer(root.Pass()); 2198 host_impl().active_tree()->SetRootLayer(root.Pass());
2199 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2199 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2200 2200
2201 // Sanity check the scenario we just created. 2201 // Sanity check the scenario we just created.
2202 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2202 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2203 2203
2204 LayerSelectionBound left_input; 2204 LayerSelectionBound left_input;
2205 left_input.type = SELECTION_BOUND_LEFT; 2205 left_input.type = SELECTION_BOUND_LEFT;
2206 left_input.edge_top = gfx::PointF(25, 10); 2206 left_input.edge_top = gfx::PointF(25, 10);
2207 left_input.edge_bottom = gfx::PointF(25, 30); 2207 left_input.edge_bottom = gfx::PointF(25, 30);
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
2356 EXPECT_EQ(0u, host_impl().active_tree()->NumLayers()); 2356 EXPECT_EQ(0u, host_impl().active_tree()->NumLayers());
2357 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl().active_tree(), 1); 2357 scoped_ptr<LayerImpl> root = LayerImpl::Create(host_impl().active_tree(), 1);
2358 root->AddChild(LayerImpl::Create(host_impl().active_tree(), 2)); 2358 root->AddChild(LayerImpl::Create(host_impl().active_tree(), 2));
2359 root->AddChild(LayerImpl::Create(host_impl().active_tree(), 3)); 2359 root->AddChild(LayerImpl::Create(host_impl().active_tree(), 3));
2360 root->child_at(1)->AddChild(LayerImpl::Create(host_impl().active_tree(), 4)); 2360 root->child_at(1)->AddChild(LayerImpl::Create(host_impl().active_tree(), 4));
2361 EXPECT_EQ(4u, host_impl().active_tree()->NumLayers()); 2361 EXPECT_EQ(4u, host_impl().active_tree()->NumLayers());
2362 } 2362 }
2363 2363
2364 } // namespace 2364 } // namespace
2365 } // namespace cc 2365 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_impl.cc ('k') | cc/trees/occlusion_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698