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

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

Issue 2080223010: cc: Clean up root_layer code in LTI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase++ Created 4 years, 5 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/layers/solid_color_scrollbar_layer_impl.h" 9 #include "cc/layers/solid_color_scrollbar_layer_impl.h"
10 #include "cc/test/fake_impl_task_runner_provider.h" 10 #include "cc/test/fake_impl_task_runner_provider.h"
(...skipping 18 matching lines...) Expand all
29 settings.verify_clip_tree_calculations = true; 29 settings.verify_clip_tree_calculations = true;
30 host_impl_.reset(new FakeLayerTreeHostImpl(settings, &task_runner_provider_, 30 host_impl_.reset(new FakeLayerTreeHostImpl(settings, &task_runner_provider_,
31 &shared_bitmap_manager_, 31 &shared_bitmap_manager_,
32 &task_graph_runner_)); 32 &task_graph_runner_));
33 host_impl_->SetVisible(true); 33 host_impl_->SetVisible(true);
34 EXPECT_TRUE(host_impl_->InitializeRenderer(output_surface_.get())); 34 EXPECT_TRUE(host_impl_->InitializeRenderer(output_surface_.get()));
35 } 35 }
36 36
37 FakeLayerTreeHostImpl& host_impl() { return *host_impl_; } 37 FakeLayerTreeHostImpl& host_impl() { return *host_impl_; }
38 38
39 LayerImpl* root_layer() { return host_impl_->active_tree()->root_layer(); } 39 LayerImpl* root_layer() {
40 return host_impl_->active_tree()->root_layer_for_testing();
41 }
40 int HitTestSimpleTree(int root_id, 42 int HitTestSimpleTree(int root_id,
41 int left_child_id, 43 int left_child_id,
42 int right_child_id, 44 int right_child_id,
43 int root_sorting_context, 45 int root_sorting_context,
44 int left_child_sorting_context, 46 int left_child_sorting_context,
45 int right_child_sorting_context, 47 int right_child_sorting_context,
46 float root_depth, 48 float root_depth,
47 float left_child_depth, 49 float left_child_depth,
48 float right_child_depth); 50 float right_child_depth);
49 51
(...skipping 15 matching lines...) Expand all
65 67
66 gfx::Transform identity_matrix; 68 gfx::Transform identity_matrix;
67 gfx::Point3F transform_origin; 69 gfx::Point3F transform_origin;
68 gfx::PointF position; 70 gfx::PointF position;
69 gfx::Size bounds(100, 100); 71 gfx::Size bounds(100, 100);
70 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 72 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
71 position, bounds, true, false, true); 73 position, bounds, true, false, true);
72 root->SetDrawsContent(true); 74 root->SetDrawsContent(true);
73 75
74 host_impl().SetViewportSize(root->bounds()); 76 host_impl().SetViewportSize(root->bounds());
75 host_impl().active_tree()->SetRootLayer(std::move(root)); 77 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
76 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 78 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
77 79
78 // Sanity check the scenario we just created. 80 // Sanity check the scenario we just created.
79 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 81 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
80 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 82 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
81 83
82 // Hit testing for a point outside the layer should return a null pointer. 84 // Hit testing for a point outside the layer should return a null pointer.
83 gfx::PointF test_point(101.f, 101.f); 85 gfx::PointF test_point(101.f, 101.f);
84 LayerImpl* result_layer = 86 LayerImpl* result_layer =
85 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 87 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 125
124 gfx::Transform identity_matrix; 126 gfx::Transform identity_matrix;
125 gfx::Point3F transform_origin; 127 gfx::Point3F transform_origin;
126 gfx::PointF position; 128 gfx::PointF position;
127 gfx::Size bounds(100, 100); 129 gfx::Size bounds(100, 100);
128 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 130 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
129 position, bounds, true, false, true); 131 position, bounds, true, false, true);
130 root->SetDrawsContent(true); 132 root->SetDrawsContent(true);
131 133
132 host_impl->SetViewportSize(root->bounds()); 134 host_impl->SetViewportSize(root->bounds());
133 host_impl->active_tree()->SetRootLayer(std::move(root)); 135 host_impl->active_tree()->SetRootLayerForTesting(std::move(root));
134 host_impl->UpdateNumChildrenAndDrawPropertiesForActiveTree(); 136 host_impl->UpdateNumChildrenAndDrawPropertiesForActiveTree();
135 EXPECT_EQ( 137 EXPECT_EQ(
136 gfx::RectF(gfx::SizeF(bounds)), 138 gfx::RectF(gfx::SizeF(bounds)),
137 host_impl->active_tree()->property_trees()->clip_tree.ViewportClip()); 139 host_impl->active_tree()->property_trees()->clip_tree.ViewportClip());
138 EXPECT_EQ(gfx::Rect(bounds), 140 EXPECT_EQ(
139 host_impl->active_tree()->root_layer()->visible_layer_rect()); 141 gfx::Rect(bounds),
142 host_impl->active_tree()->root_layer_for_testing()->visible_layer_rect());
140 143
141 gfx::Size new_bounds(50, 50); 144 gfx::Size new_bounds(50, 50);
142 host_impl->SetViewportSize(new_bounds); 145 host_impl->SetViewportSize(new_bounds);
143 gfx::PointF test_point(51.f, 51.f); 146 gfx::PointF test_point(51.f, 51.f);
144 host_impl->active_tree()->FindLayerThatIsHitByPoint(test_point); 147 host_impl->active_tree()->FindLayerThatIsHitByPoint(test_point);
145 EXPECT_EQ( 148 EXPECT_EQ(
146 gfx::RectF(gfx::SizeF(new_bounds)), 149 gfx::RectF(gfx::SizeF(new_bounds)),
147 host_impl->active_tree()->property_trees()->clip_tree.ViewportClip()); 150 host_impl->active_tree()->property_trees()->clip_tree.ViewportClip());
148 EXPECT_EQ(gfx::Rect(new_bounds), 151 EXPECT_EQ(
149 host_impl->active_tree()->root_layer()->visible_layer_rect()); 152 gfx::Rect(new_bounds),
153 host_impl->active_tree()->root_layer_for_testing()->visible_layer_rect());
150 } 154 }
151 155
152 TEST_F(LayerTreeImplTest, HitTestingForSingleLayerAndHud) { 156 TEST_F(LayerTreeImplTest, HitTestingForSingleLayerAndHud) {
153 std::unique_ptr<LayerImpl> root = 157 std::unique_ptr<LayerImpl> root =
154 LayerImpl::Create(host_impl().active_tree(), 12345); 158 LayerImpl::Create(host_impl().active_tree(), 12345);
155 std::unique_ptr<HeadsUpDisplayLayerImpl> hud = 159 std::unique_ptr<HeadsUpDisplayLayerImpl> hud =
156 HeadsUpDisplayLayerImpl::Create(host_impl().active_tree(), 11111); 160 HeadsUpDisplayLayerImpl::Create(host_impl().active_tree(), 11111);
157 161
158 gfx::Transform identity_matrix; 162 gfx::Transform identity_matrix;
159 gfx::Point3F transform_origin; 163 gfx::Point3F transform_origin;
160 gfx::PointF position; 164 gfx::PointF position;
161 gfx::Size bounds(100, 100); 165 gfx::Size bounds(100, 100);
162 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 166 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
163 position, bounds, true, false, true); 167 position, bounds, true, false, true);
164 root->SetDrawsContent(true); 168 root->SetDrawsContent(true);
165 169
166 // Create hud and add it as a child of root. 170 // Create hud and add it as a child of root.
167 gfx::Size hud_bounds(200, 200); 171 gfx::Size hud_bounds(200, 200);
168 SetLayerPropertiesForTesting(hud.get(), identity_matrix, transform_origin, 172 SetLayerPropertiesForTesting(hud.get(), identity_matrix, transform_origin,
169 position, hud_bounds, true, false, false); 173 position, hud_bounds, true, false, false);
170 hud->SetDrawsContent(true); 174 hud->SetDrawsContent(true);
171 175
172 host_impl().active_tree()->set_hud_layer(hud.get()); 176 host_impl().active_tree()->set_hud_layer(hud.get());
173 root->test_properties()->AddChild(std::move(hud)); 177 root->test_properties()->AddChild(std::move(hud));
174 178
175 host_impl().SetViewportSize(hud_bounds); 179 host_impl().SetViewportSize(hud_bounds);
176 host_impl().active_tree()->SetRootLayer(std::move(root)); 180 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
177 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 181 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
178 182
179 // Sanity check the scenario we just created. 183 // Sanity check the scenario we just created.
180 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 184 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
181 ASSERT_EQ(2u, root_layer()->render_surface()->layer_list().size()); 185 ASSERT_EQ(2u, root_layer()->render_surface()->layer_list().size());
182 186
183 // Hit testing for a point inside HUD, but outside root should return null 187 // Hit testing for a point inside HUD, but outside root should return null
184 gfx::PointF test_point(101.f, 101.f); 188 gfx::PointF test_point(101.f, 101.f);
185 LayerImpl* result_layer = 189 LayerImpl* result_layer =
186 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 190 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 gfx::Transform identity_matrix; 224 gfx::Transform identity_matrix;
221 gfx::Point3F transform_origin; 225 gfx::Point3F transform_origin;
222 gfx::PointF position; 226 gfx::PointF position;
223 gfx::Size bounds(100, 100); 227 gfx::Size bounds(100, 100);
224 SetLayerPropertiesForTesting(root.get(), uninvertible_transform, 228 SetLayerPropertiesForTesting(root.get(), uninvertible_transform,
225 transform_origin, position, bounds, true, false, 229 transform_origin, position, bounds, true, false,
226 true); 230 true);
227 root->SetDrawsContent(true); 231 root->SetDrawsContent(true);
228 232
229 host_impl().SetViewportSize(root->bounds()); 233 host_impl().SetViewportSize(root->bounds());
230 host_impl().active_tree()->SetRootLayer(std::move(root)); 234 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
231 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 235 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
232 // Sanity check the scenario we just created. 236 // Sanity check the scenario we just created.
233 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 237 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
234 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 238 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
235 ASSERT_FALSE(root_layer()->ScreenSpaceTransform().IsInvertible()); 239 ASSERT_FALSE(root_layer()->ScreenSpaceTransform().IsInvertible());
236 240
237 // Hit testing any point should not hit the layer. If the invertible matrix is 241 // Hit testing any point should not hit the layer. If the invertible matrix is
238 // accidentally ignored and treated like an identity, then the hit testing 242 // accidentally ignored and treated like an identity, then the hit testing
239 // will incorrectly hit the layer when it shouldn't. 243 // will incorrectly hit the layer when it shouldn't.
240 gfx::PointF test_point(1.f, 1.f); 244 gfx::PointF test_point(1.f, 1.f);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 gfx::Point3F transform_origin; 285 gfx::Point3F transform_origin;
282 // this layer is positioned, and hit testing should correctly know where the 286 // this layer is positioned, and hit testing should correctly know where the
283 // layer is located. 287 // layer is located.
284 gfx::PointF position(50.f, 50.f); 288 gfx::PointF position(50.f, 50.f);
285 gfx::Size bounds(100, 100); 289 gfx::Size bounds(100, 100);
286 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 290 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
287 position, bounds, true, false, true); 291 position, bounds, true, false, true);
288 root->SetDrawsContent(true); 292 root->SetDrawsContent(true);
289 293
290 host_impl().SetViewportSize(root->bounds()); 294 host_impl().SetViewportSize(root->bounds());
291 host_impl().active_tree()->SetRootLayer(std::move(root)); 295 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
292 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 296 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
293 297
294 // Sanity check the scenario we just created. 298 // Sanity check the scenario we just created.
295 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 299 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
296 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 300 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
297 301
298 // Hit testing for a point outside the layer should return a null pointer. 302 // Hit testing for a point outside the layer should return a null pointer.
299 gfx::PointF test_point(49.f, 49.f); 303 gfx::PointF test_point(49.f, 49.f);
300 LayerImpl* result_layer = 304 LayerImpl* result_layer =
301 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 305 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 rotation45_degrees_about_center.Translate(-50.0, -50.0); 337 rotation45_degrees_about_center.Translate(-50.0, -50.0);
334 gfx::Point3F transform_origin; 338 gfx::Point3F transform_origin;
335 gfx::PointF position; 339 gfx::PointF position;
336 gfx::Size bounds(100, 100); 340 gfx::Size bounds(100, 100);
337 SetLayerPropertiesForTesting(root.get(), rotation45_degrees_about_center, 341 SetLayerPropertiesForTesting(root.get(), rotation45_degrees_about_center,
338 transform_origin, position, bounds, true, false, 342 transform_origin, position, bounds, true, false,
339 true); 343 true);
340 root->SetDrawsContent(true); 344 root->SetDrawsContent(true);
341 345
342 host_impl().SetViewportSize(root->bounds()); 346 host_impl().SetViewportSize(root->bounds());
343 host_impl().active_tree()->SetRootLayer(std::move(root)); 347 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
344 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 348 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
345 349
346 // Sanity check the scenario we just created. 350 // Sanity check the scenario we just created.
347 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 351 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
348 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 352 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
349 353
350 // Hit testing for points outside the layer. 354 // Hit testing for points outside the layer.
351 // These corners would have been inside the un-transformed layer, but they 355 // These corners would have been inside the un-transformed layer, but they
352 // should not hit the correctly transformed layer. 356 // should not hit the correctly transformed layer.
353 gfx::PointF test_point(99.f, 99.f); 357 gfx::PointF test_point(99.f, 99.f);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 gfx::PointF(), gfx::Size(100, 100), true, false, 422 gfx::PointF(), gfx::Size(100, 100), true, false,
419 false); 423 false);
420 test->SetDrawsContent(true); 424 test->SetDrawsContent(true);
421 425
422 clip->test_properties()->AddChild(std::move(test)); 426 clip->test_properties()->AddChild(std::move(test));
423 scale->test_properties()->AddChild(std::move(clip)); 427 scale->test_properties()->AddChild(std::move(clip));
424 render_surface->test_properties()->AddChild(std::move(scale)); 428 render_surface->test_properties()->AddChild(std::move(scale));
425 root->test_properties()->AddChild(std::move(render_surface)); 429 root->test_properties()->AddChild(std::move(render_surface));
426 430
427 host_impl().SetViewportSize(root->bounds()); 431 host_impl().SetViewportSize(root->bounds());
428 host_impl().active_tree()->SetRootLayer(std::move(root)); 432 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
429 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 433 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
430 434
431 gfx::PointF test_point(160.f, 160.f); 435 gfx::PointF test_point(160.f, 160.f);
432 LayerImpl* result_layer = 436 LayerImpl* result_layer =
433 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 437 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
434 EXPECT_FALSE(result_layer); 438 EXPECT_FALSE(result_layer);
435 439
436 test_point = gfx::PointF(140.f, 140.f); 440 test_point = gfx::PointF(140.f, 140.f);
437 result_layer = 441 result_layer =
438 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 442 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
(...skipping 24 matching lines...) Expand all
463 LayerImpl::Create(host_impl().active_tree(), 3); 467 LayerImpl::Create(host_impl().active_tree(), 3);
464 SetLayerPropertiesForTesting(child2.get(), identity_matrix, gfx::Point3F(), 468 SetLayerPropertiesForTesting(child2.get(), identity_matrix, gfx::Point3F(),
465 gfx::PointF(), gfx::Size(75, 75), true, false, 469 gfx::PointF(), gfx::Size(75, 75), true, false,
466 false); 470 false);
467 child2->SetMasksToBounds(true); 471 child2->SetMasksToBounds(true);
468 child2->SetDrawsContent(true); 472 child2->SetDrawsContent(true);
469 root->test_properties()->AddChild(std::move(child1)); 473 root->test_properties()->AddChild(std::move(child1));
470 root->test_properties()->AddChild(std::move(child2)); 474 root->test_properties()->AddChild(std::move(child2));
471 475
472 host_impl().SetViewportSize(root->bounds()); 476 host_impl().SetViewportSize(root->bounds());
473 host_impl().active_tree()->SetRootLayer(std::move(root)); 477 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
474 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 478 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
475 479
476 gfx::PointF test_point(50.f, 50.f); 480 gfx::PointF test_point(50.f, 50.f);
477 LayerImpl* result_layer = 481 LayerImpl* result_layer =
478 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 482 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
479 ASSERT_TRUE(result_layer); 483 ASSERT_TRUE(result_layer);
480 EXPECT_EQ(3, result_layer->id()); 484 EXPECT_EQ(3, result_layer->id());
481 } 485 }
482 486
483 TEST_F(LayerTreeImplTest, HitTestingPointOutsideMaxTextureSize) { 487 TEST_F(LayerTreeImplTest, HitTestingPointOutsideMaxTextureSize) {
484 gfx::Transform identity_matrix; 488 gfx::Transform identity_matrix;
485 int max_texture_size = 489 int max_texture_size =
486 host_impl().active_tree()->resource_provider()->max_texture_size(); 490 host_impl().active_tree()->resource_provider()->max_texture_size();
487 gfx::Size bounds(max_texture_size + 100, max_texture_size + 100); 491 gfx::Size bounds(max_texture_size + 100, max_texture_size + 100);
488 492
489 std::unique_ptr<LayerImpl> root = 493 std::unique_ptr<LayerImpl> root =
490 LayerImpl::Create(host_impl().active_tree(), 1); 494 LayerImpl::Create(host_impl().active_tree(), 1);
491 SetLayerPropertiesForTesting(root.get(), identity_matrix, gfx::Point3F(), 495 SetLayerPropertiesForTesting(root.get(), identity_matrix, gfx::Point3F(),
492 gfx::PointF(), bounds, true, false, true); 496 gfx::PointF(), bounds, true, false, true);
493 497
494 std::unique_ptr<LayerImpl> surface = 498 std::unique_ptr<LayerImpl> surface =
495 LayerImpl::Create(host_impl().active_tree(), 2); 499 LayerImpl::Create(host_impl().active_tree(), 2);
496 SetLayerPropertiesForTesting(surface.get(), identity_matrix, gfx::Point3F(), 500 SetLayerPropertiesForTesting(surface.get(), identity_matrix, gfx::Point3F(),
497 gfx::PointF(), bounds, true, false, true); 501 gfx::PointF(), bounds, true, false, true);
498 surface->SetMasksToBounds(true); 502 surface->SetMasksToBounds(true);
499 surface->SetDrawsContent(true); 503 surface->SetDrawsContent(true);
500 504
501 root->test_properties()->AddChild(std::move(surface)); 505 root->test_properties()->AddChild(std::move(surface));
502 host_impl().SetViewportSize(root->bounds()); 506 host_impl().SetViewportSize(root->bounds());
503 host_impl().active_tree()->SetRootLayer(std::move(root)); 507 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
504 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 508 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
505 509
506 gfx::PointF test_point(max_texture_size - 50, max_texture_size - 50); 510 gfx::PointF test_point(max_texture_size - 50, max_texture_size - 50);
507 LayerImpl* result_layer = 511 LayerImpl* result_layer =
508 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 512 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
509 EXPECT_TRUE(result_layer); 513 EXPECT_TRUE(result_layer);
510 514
511 test_point = gfx::PointF(max_texture_size + 50, max_texture_size + 50); 515 test_point = gfx::PointF(max_texture_size + 50, max_texture_size + 50);
512 result_layer = 516 result_layer =
513 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 517 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
(...skipping 17 matching lines...) Expand all
531 535
532 gfx::Point3F transform_origin; 536 gfx::Point3F transform_origin;
533 gfx::PointF position; 537 gfx::PointF position;
534 gfx::Size bounds(100, 100); 538 gfx::Size bounds(100, 100);
535 SetLayerPropertiesForTesting( 539 SetLayerPropertiesForTesting(
536 root.get(), perspective_projection_about_center * translation_by_z, 540 root.get(), perspective_projection_about_center * translation_by_z,
537 transform_origin, position, bounds, true, false, true); 541 transform_origin, position, bounds, true, false, true);
538 root->SetDrawsContent(true); 542 root->SetDrawsContent(true);
539 543
540 host_impl().SetViewportSize(root->bounds()); 544 host_impl().SetViewportSize(root->bounds());
541 host_impl().active_tree()->SetRootLayer(std::move(root)); 545 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
542 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 546 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
543 547
544 // Sanity check the scenario we just created. 548 // Sanity check the scenario we just created.
545 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 549 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
546 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 550 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
547 551
548 // Hit testing for points outside the layer. 552 // Hit testing for points outside the layer.
549 // These corners would have been inside the un-transformed layer, but they 553 // These corners would have been inside the un-transformed layer, but they
550 // should not hit the correctly transformed layer. 554 // should not hit the correctly transformed layer.
551 gfx::PointF test_point(24.f, 24.f); 555 gfx::PointF test_point(24.f, 24.f);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 position = gfx::PointF(-50.f, -50.f); 605 position = gfx::PointF(-50.f, -50.f);
602 bounds = gfx::Size(300, 300); 606 bounds = gfx::Size(300, 300);
603 SetLayerPropertiesForTesting(child.get(), identity_matrix, transform_origin, 607 SetLayerPropertiesForTesting(child.get(), identity_matrix, transform_origin,
604 position, bounds, true, false, false); 608 position, bounds, true, false, false);
605 child->SetDrawsContent(true); 609 child->SetDrawsContent(true);
606 clipping_layer->test_properties()->AddChild(std::move(child)); 610 clipping_layer->test_properties()->AddChild(std::move(child));
607 root->test_properties()->AddChild(std::move(clipping_layer)); 611 root->test_properties()->AddChild(std::move(clipping_layer));
608 } 612 }
609 613
610 host_impl().SetViewportSize(root->bounds()); 614 host_impl().SetViewportSize(root->bounds());
611 host_impl().active_tree()->SetRootLayer(std::move(root)); 615 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
612 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 616 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
613 617
614 // Sanity check the scenario we just created. 618 // Sanity check the scenario we just created.
615 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 619 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
616 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 620 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
617 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id()); 621 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id());
618 622
619 // Hit testing for a point outside the layer should return a null pointer. 623 // Hit testing for a point outside the layer should return a null pointer.
620 // Despite the child layer being very large, it should be clipped to the root 624 // Despite the child layer being very large, it should be clipped to the root
621 // layer's bounds. 625 // layer's bounds.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 position = gfx::PointF(); 710 position = gfx::PointF();
707 bounds = gfx::Size(100, 100); 711 bounds = gfx::Size(100, 100);
708 SetLayerPropertiesForTesting(rotated_leaf.get(), rotated_leaf_transform, 712 SetLayerPropertiesForTesting(rotated_leaf.get(), rotated_leaf_transform,
709 transform_origin, position, bounds, true, 713 transform_origin, position, bounds, true,
710 false, false); 714 false, false);
711 rotated_leaf->SetDrawsContent(true); 715 rotated_leaf->SetDrawsContent(true);
712 716
713 grand_child->test_properties()->AddChild(std::move(rotated_leaf)); 717 grand_child->test_properties()->AddChild(std::move(rotated_leaf));
714 child->test_properties()->AddChild(std::move(grand_child)); 718 child->test_properties()->AddChild(std::move(grand_child));
715 root->test_properties()->AddChild(std::move(child)); 719 root->test_properties()->AddChild(std::move(child));
716 host_impl().active_tree()->SetRootLayer(std::move(root)); 720 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
717 721
718 ExecuteCalculateDrawProperties(root_layer); 722 ExecuteCalculateDrawProperties(root_layer);
719 } 723 }
720 724
721 host_impl().SetViewportSize(root_layer->bounds()); 725 host_impl().SetViewportSize(root_layer->bounds());
722 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 726 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
723 // (11, 89) is close to the the bottom left corner within the clip, but it is 727 // (11, 89) is close to the the bottom left corner within the clip, but it is
724 // not inside the layer. 728 // not inside the layer.
725 gfx::PointF test_point(11.f, 89.f); 729 gfx::PointF test_point(11.f, 89.f);
726 LayerImpl* result_layer = 730 LayerImpl* result_layer =
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
800 position = gfx::PointF(60.f, 60.f); // 70, 70 in screen space 804 position = gfx::PointF(60.f, 60.f); // 70, 70 in screen space
801 bounds = gfx::Size(20, 20); 805 bounds = gfx::Size(20, 20);
802 SetLayerPropertiesForTesting(child.get(), identity_matrix, transform_origin, 806 SetLayerPropertiesForTesting(child.get(), identity_matrix, transform_origin,
803 position, bounds, true, false, false); 807 position, bounds, true, false, false);
804 child->SetDrawsContent(true); 808 child->SetDrawsContent(true);
805 intermediate_layer->test_properties()->AddChild(std::move(child)); 809 intermediate_layer->test_properties()->AddChild(std::move(child));
806 root->test_properties()->AddChild(std::move(intermediate_layer)); 810 root->test_properties()->AddChild(std::move(intermediate_layer));
807 } 811 }
808 812
809 host_impl().SetViewportSize(root->bounds()); 813 host_impl().SetViewportSize(root->bounds());
810 host_impl().active_tree()->SetRootLayer(std::move(root)); 814 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
811 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 815 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
812 816
813 // Sanity check the scenario we just created. 817 // Sanity check the scenario we just created.
814 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 818 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
815 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 819 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
816 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id()); 820 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id());
817 821
818 // Hit testing for a point outside the layer should return a null pointer. 822 // Hit testing for a point outside the layer should return a null pointer.
819 gfx::PointF test_point(69.f, 69.f); 823 gfx::PointF test_point(69.f, 69.f);
820 LayerImpl* result_layer = 824 LayerImpl* result_layer =
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 position = gfx::PointF(0.f, 40.f); 890 position = gfx::PointF(0.f, 40.f);
887 bounds = gfx::Size(100, 50); 891 bounds = gfx::Size(100, 50);
888 SetLayerPropertiesForTesting(grand_child1.get(), identity_matrix, 892 SetLayerPropertiesForTesting(grand_child1.get(), identity_matrix,
889 transform_origin, position, bounds, true, 893 transform_origin, position, bounds, true,
890 false, false); 894 false, false);
891 grand_child1->SetDrawsContent(true); 895 grand_child1->SetDrawsContent(true);
892 896
893 child1->test_properties()->AddChild(std::move(grand_child1)); 897 child1->test_properties()->AddChild(std::move(grand_child1));
894 root->test_properties()->AddChild(std::move(child1)); 898 root->test_properties()->AddChild(std::move(child1));
895 root->test_properties()->AddChild(std::move(child2)); 899 root->test_properties()->AddChild(std::move(child2));
896 host_impl().active_tree()->SetRootLayer(std::move(root)); 900 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
897 901
898 ExecuteCalculateDrawProperties(root_layer); 902 ExecuteCalculateDrawProperties(root_layer);
899 } 903 }
900 904
901 LayerImpl* child1 = root_layer->test_properties()->children[0]; 905 LayerImpl* child1 = root_layer->test_properties()->children[0];
902 LayerImpl* child2 = root_layer->test_properties()->children[1]; 906 LayerImpl* child2 = root_layer->test_properties()->children[1];
903 LayerImpl* grand_child1 = child1->test_properties()->children[0]; 907 LayerImpl* grand_child1 = child1->test_properties()->children[0];
904 908
905 host_impl().SetViewportSize(root_layer->bounds()); 909 host_impl().SetViewportSize(root_layer->bounds());
906 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 910 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1009 transform_origin, position, bounds, false, 1013 transform_origin, position, bounds, false,
1010 false, false); 1014 false, false);
1011 right_child->SetDrawsContent(true); 1015 right_child->SetDrawsContent(true);
1012 right_child->Set3dSortingContextId(right_child_sorting_context); 1016 right_child->Set3dSortingContextId(right_child_sorting_context);
1013 } 1017 }
1014 1018
1015 root->test_properties()->AddChild(std::move(left_child)); 1019 root->test_properties()->AddChild(std::move(left_child));
1016 root->test_properties()->AddChild(std::move(right_child)); 1020 root->test_properties()->AddChild(std::move(right_child));
1017 1021
1018 host_impl().SetViewportSize(root->bounds()); 1022 host_impl().SetViewportSize(root->bounds());
1019 host_impl().active_tree()->SetRootLayer(std::move(root)); 1023 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1020 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1024 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1021 CHECK_EQ(1u, RenderSurfaceLayerList().size()); 1025 CHECK_EQ(1u, RenderSurfaceLayerList().size());
1022 1026
1023 gfx::PointF test_point = gfx::PointF(1.f, 1.f); 1027 gfx::PointF test_point = gfx::PointF(1.f, 1.f);
1024 LayerImpl* result_layer = 1028 LayerImpl* result_layer =
1025 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 1029 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
1026 1030
1027 CHECK(result_layer); 1031 CHECK(result_layer);
1028 return result_layer->id(); 1032 return result_layer->id();
1029 } 1033 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 child1->test_properties()->AddChild(std::move(grand_child1)); 1128 child1->test_properties()->AddChild(std::move(grand_child1));
1125 root->test_properties()->AddChild(std::move(child1)); 1129 root->test_properties()->AddChild(std::move(child1));
1126 root->test_properties()->AddChild(std::move(child2)); 1130 root->test_properties()->AddChild(std::move(child2));
1127 } 1131 }
1128 1132
1129 LayerImpl* child1 = root->test_properties()->children[0]; 1133 LayerImpl* child1 = root->test_properties()->children[0];
1130 LayerImpl* child2 = root->test_properties()->children[1]; 1134 LayerImpl* child2 = root->test_properties()->children[1];
1131 LayerImpl* grand_child1 = child1->test_properties()->children[0]; 1135 LayerImpl* grand_child1 = child1->test_properties()->children[0];
1132 1136
1133 host_impl().SetViewportSize(root->bounds()); 1137 host_impl().SetViewportSize(root->bounds());
1134 host_impl().active_tree()->SetRootLayer(std::move(root)); 1138 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1135 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1139 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1136 1140
1137 // Sanity check the scenario we just created. 1141 // Sanity check the scenario we just created.
1138 ASSERT_TRUE(child1); 1142 ASSERT_TRUE(child1);
1139 ASSERT_TRUE(child2); 1143 ASSERT_TRUE(child2);
1140 ASSERT_TRUE(grand_child1); 1144 ASSERT_TRUE(grand_child1);
1141 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1145 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1142 1146
1143 // Nothing overlaps the root_layer at (1, 1), so hit testing there should find 1147 // Nothing overlaps the root_layer at (1, 1), so hit testing there should find
1144 // the root layer. 1148 // the root layer.
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1225 std::unique_ptr<std::set<LayerImpl*>> clip_children( 1229 std::unique_ptr<std::set<LayerImpl*>> clip_children(
1226 new std::set<LayerImpl*>); 1230 new std::set<LayerImpl*>);
1227 clip_children->insert(grand_child.get()); 1231 clip_children->insert(grand_child.get());
1228 root->test_properties()->clip_children.reset(clip_children.release()); 1232 root->test_properties()->clip_children.reset(clip_children.release());
1229 1233
1230 child->test_properties()->AddChild(std::move(grand_child)); 1234 child->test_properties()->AddChild(std::move(grand_child));
1231 root->test_properties()->AddChild(std::move(child)); 1235 root->test_properties()->AddChild(std::move(child));
1232 } 1236 }
1233 1237
1234 host_impl().SetViewportSize(root->bounds()); 1238 host_impl().SetViewportSize(root->bounds());
1235 host_impl().active_tree()->SetRootLayer(std::move(root)); 1239 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1236 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1240 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1237 1241
1238 gfx::PointF test_point(12.f, 52.f); 1242 gfx::PointF test_point(12.f, 52.f);
1239 LayerImpl* result_layer = 1243 LayerImpl* result_layer =
1240 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 1244 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
1241 ASSERT_TRUE(result_layer); 1245 ASSERT_TRUE(result_layer);
1242 EXPECT_EQ(4, result_layer->id()); 1246 EXPECT_EQ(4, result_layer->id());
1243 } 1247 }
1244 1248
1245 TEST_F(LayerTreeImplTest, HitTestingRespectsScrollParents) { 1249 TEST_F(LayerTreeImplTest, HitTestingRespectsScrollParents) {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 false, false); 1291 false, false);
1288 grand_child->SetDrawsContent(true); 1292 grand_child->SetDrawsContent(true);
1289 grand_child->SetHasRenderSurface(true); 1293 grand_child->SetHasRenderSurface(true);
1290 1294
1291 scroll_child->test_properties()->AddChild(std::move(grand_child)); 1295 scroll_child->test_properties()->AddChild(std::move(grand_child));
1292 root->test_properties()->AddChild(std::move(scroll_child)); 1296 root->test_properties()->AddChild(std::move(scroll_child));
1293 root->test_properties()->AddChild(std::move(child)); 1297 root->test_properties()->AddChild(std::move(child));
1294 } 1298 }
1295 1299
1296 host_impl().SetViewportSize(root->bounds()); 1300 host_impl().SetViewportSize(root->bounds());
1297 host_impl().active_tree()->SetRootLayer(std::move(root)); 1301 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1298 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1302 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1299 1303
1300 gfx::PointF test_point(12.f, 52.f); 1304 gfx::PointF test_point(12.f, 52.f);
1301 LayerImpl* result_layer = 1305 LayerImpl* result_layer =
1302 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 1306 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
1303 // The |test_point| should have been clipped away by |child|, the scroll 1307 // The |test_point| should have been clipped away by |child|, the scroll
1304 // parent, so the only thing that should be hit is |root|. 1308 // parent, so the only thing that should be hit is |root|.
1305 ASSERT_TRUE(result_layer); 1309 ASSERT_TRUE(result_layer);
1306 ASSERT_EQ(1, result_layer->id()); 1310 ASSERT_EQ(1, result_layer->id());
1307 } 1311 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 bounds = gfx::Size(100, 50); 1362 bounds = gfx::Size(100, 50);
1359 SetLayerPropertiesForTesting(grand_child1.get(), identity_matrix, 1363 SetLayerPropertiesForTesting(grand_child1.get(), identity_matrix,
1360 transform_origin, position, bounds, true, 1364 transform_origin, position, bounds, true,
1361 false, false); 1365 false, false);
1362 grand_child1->SetDrawsContent(true); 1366 grand_child1->SetDrawsContent(true);
1363 grand_child1->test_properties()->force_render_surface = true; 1367 grand_child1->test_properties()->force_render_surface = true;
1364 1368
1365 child1->test_properties()->AddChild(std::move(grand_child1)); 1369 child1->test_properties()->AddChild(std::move(grand_child1));
1366 root->test_properties()->AddChild(std::move(child1)); 1370 root->test_properties()->AddChild(std::move(child1));
1367 root->test_properties()->AddChild(std::move(child2)); 1371 root->test_properties()->AddChild(std::move(child2));
1368 host_impl().active_tree()->SetRootLayer(std::move(root)); 1372 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1369 1373
1370 ExecuteCalculateDrawProperties(root_layer); 1374 ExecuteCalculateDrawProperties(root_layer);
1371 } 1375 }
1372 1376
1373 LayerImpl* child1 = root_layer->test_properties()->children[0]; 1377 LayerImpl* child1 = root_layer->test_properties()->children[0];
1374 LayerImpl* child2 = root_layer->test_properties()->children[1]; 1378 LayerImpl* child2 = root_layer->test_properties()->children[1];
1375 LayerImpl* grand_child1 = child1->test_properties()->children[0]; 1379 LayerImpl* grand_child1 = child1->test_properties()->children[0];
1376 1380
1377 host_impl().SetViewportSize(root_layer->bounds()); 1381 host_impl().SetViewportSize(root_layer->bounds());
1378 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1382 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
1452 gfx::Transform identity_matrix; 1456 gfx::Transform identity_matrix;
1453 Region touch_handler_region(gfx::Rect(10, 10, 50, 50)); 1457 Region touch_handler_region(gfx::Rect(10, 10, 50, 50));
1454 gfx::Point3F transform_origin; 1458 gfx::Point3F transform_origin;
1455 gfx::PointF position; 1459 gfx::PointF position;
1456 gfx::Size bounds(100, 100); 1460 gfx::Size bounds(100, 100);
1457 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 1461 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
1458 position, bounds, true, false, true); 1462 position, bounds, true, false, true);
1459 root->SetDrawsContent(true); 1463 root->SetDrawsContent(true);
1460 1464
1461 host_impl().SetViewportSize(root->bounds()); 1465 host_impl().SetViewportSize(root->bounds());
1462 host_impl().active_tree()->SetRootLayer(std::move(root)); 1466 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1463 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1467 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1464 1468
1465 // Sanity check the scenario we just created. 1469 // Sanity check the scenario we just created.
1466 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1470 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1467 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1471 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1468 1472
1469 // Hit checking for any point should return a null pointer for a layer without 1473 // Hit checking for any point should return a null pointer for a layer without
1470 // any touch event handler regions. 1474 // any touch event handler regions.
1471 gfx::PointF test_point(11.f, 11.f); 1475 gfx::PointF test_point(11.f, 11.f);
1472 LayerImpl* result_layer = 1476 LayerImpl* result_layer =
1473 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 1477 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
1474 test_point); 1478 test_point);
1475 EXPECT_FALSE(result_layer); 1479 EXPECT_FALSE(result_layer);
1476 1480
1477 host_impl().active_tree()->root_layer()->SetTouchEventHandlerRegion( 1481 host_impl()
1478 touch_handler_region); 1482 .active_tree()
1483 ->root_layer_for_testing()
1484 ->SetTouchEventHandlerRegion(touch_handler_region);
1479 // Hit checking for a point outside the layer should return a null pointer. 1485 // Hit checking for a point outside the layer should return a null pointer.
1480 test_point = gfx::PointF(101.f, 101.f); 1486 test_point = gfx::PointF(101.f, 101.f);
1481 result_layer = 1487 result_layer =
1482 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 1488 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
1483 test_point); 1489 test_point);
1484 EXPECT_FALSE(result_layer); 1490 EXPECT_FALSE(result_layer);
1485 1491
1486 test_point = gfx::PointF(-1.f, -1.f); 1492 test_point = gfx::PointF(-1.f, -1.f);
1487 result_layer = 1493 result_layer =
1488 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 1494 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1537 gfx::Point3F transform_origin; 1543 gfx::Point3F transform_origin;
1538 gfx::PointF position; 1544 gfx::PointF position;
1539 gfx::Size bounds(100, 100); 1545 gfx::Size bounds(100, 100);
1540 SetLayerPropertiesForTesting(root.get(), uninvertible_transform, 1546 SetLayerPropertiesForTesting(root.get(), uninvertible_transform,
1541 transform_origin, position, bounds, true, false, 1547 transform_origin, position, bounds, true, false,
1542 true); 1548 true);
1543 root->SetDrawsContent(true); 1549 root->SetDrawsContent(true);
1544 root->SetTouchEventHandlerRegion(touch_handler_region); 1550 root->SetTouchEventHandlerRegion(touch_handler_region);
1545 1551
1546 host_impl().SetViewportSize(root->bounds()); 1552 host_impl().SetViewportSize(root->bounds());
1547 host_impl().active_tree()->SetRootLayer(std::move(root)); 1553 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1548 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1554 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1549 1555
1550 // Sanity check the scenario we just created. 1556 // Sanity check the scenario we just created.
1551 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1557 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1552 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1558 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1553 ASSERT_FALSE(root_layer()->ScreenSpaceTransform().IsInvertible()); 1559 ASSERT_FALSE(root_layer()->ScreenSpaceTransform().IsInvertible());
1554 1560
1555 // Hit checking any point should not hit the touch handler region on the 1561 // Hit checking any point should not hit the touch handler region on the
1556 // layer. If the invertible matrix is accidentally ignored and treated like an 1562 // layer. If the invertible matrix is accidentally ignored and treated like an
1557 // identity, then the hit testing will incorrectly hit the layer when it 1563 // identity, then the hit testing will incorrectly hit the layer when it
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1610 // this layer is positioned, and hit testing should correctly know where the 1616 // this layer is positioned, and hit testing should correctly know where the
1611 // layer is located. 1617 // layer is located.
1612 gfx::PointF position(50.f, 50.f); 1618 gfx::PointF position(50.f, 50.f);
1613 gfx::Size bounds(100, 100); 1619 gfx::Size bounds(100, 100);
1614 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 1620 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
1615 position, bounds, true, false, true); 1621 position, bounds, true, false, true);
1616 root->SetDrawsContent(true); 1622 root->SetDrawsContent(true);
1617 root->SetTouchEventHandlerRegion(touch_handler_region); 1623 root->SetTouchEventHandlerRegion(touch_handler_region);
1618 1624
1619 host_impl().SetViewportSize(root->bounds()); 1625 host_impl().SetViewportSize(root->bounds());
1620 host_impl().active_tree()->SetRootLayer(std::move(root)); 1626 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1621 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1627 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1622 1628
1623 // Sanity check the scenario we just created. 1629 // Sanity check the scenario we just created.
1624 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1630 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1625 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1631 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1626 1632
1627 // Hit checking for a point outside the layer should return a null pointer. 1633 // Hit checking for a point outside the layer should return a null pointer.
1628 gfx::PointF test_point(49.f, 49.f); 1634 gfx::PointF test_point(49.f, 49.f);
1629 LayerImpl* result_layer = 1635 LayerImpl* result_layer =
1630 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 1636 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1694 } 1700 }
1695 1701
1696 float device_scale_factor = 3.f; 1702 float device_scale_factor = 3.f;
1697 float page_scale_factor = 5.f; 1703 float page_scale_factor = 5.f;
1698 float max_page_scale_factor = 10.f; 1704 float max_page_scale_factor = 10.f;
1699 gfx::Size scaled_bounds_for_root = gfx::ScaleToCeiledSize( 1705 gfx::Size scaled_bounds_for_root = gfx::ScaleToCeiledSize(
1700 root->bounds(), device_scale_factor * page_scale_factor); 1706 root->bounds(), device_scale_factor * page_scale_factor);
1701 host_impl().SetViewportSize(scaled_bounds_for_root); 1707 host_impl().SetViewportSize(scaled_bounds_for_root);
1702 1708
1703 host_impl().active_tree()->SetDeviceScaleFactor(device_scale_factor); 1709 host_impl().active_tree()->SetDeviceScaleFactor(device_scale_factor);
1704 host_impl().active_tree()->SetRootLayer(std::move(root)); 1710 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1705 host_impl().active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 1, 1711 host_impl().active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 1,
1706 Layer::INVALID_ID); 1712 Layer::INVALID_ID);
1707 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting(); 1713 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting();
1708 host_impl().active_tree()->PushPageScaleFromMainThread( 1714 host_impl().active_tree()->PushPageScaleFromMainThread(
1709 page_scale_factor, page_scale_factor, max_page_scale_factor); 1715 page_scale_factor, page_scale_factor, max_page_scale_factor);
1710 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor); 1716 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor);
1711 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1717 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1712 1718
1713 // Sanity check the scenario we just created. 1719 // Sanity check the scenario we just created.
1714 // The visible content rect for test_layer is actually 100x100, even though 1720 // The visible content rect for test_layer is actually 100x100, even though
1715 // its layout size is 50x50, positioned at 25x25. 1721 // its layout size is 50x50, positioned at 25x25.
1716 LayerImpl* test_layer = 1722 LayerImpl* test_layer = host_impl()
1717 host_impl().active_tree()->root_layer()->test_properties()->children[0]; 1723 .active_tree()
1724 ->root_layer_for_testing()
1725 ->test_properties()
1726 ->children[0];
1718 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1727 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1719 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1728 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1720 1729
1721 // Check whether the child layer fits into the root after scaled. 1730 // Check whether the child layer fits into the root after scaled.
1722 EXPECT_EQ(gfx::Rect(test_layer->bounds()), test_layer->visible_layer_rect()); 1731 EXPECT_EQ(gfx::Rect(test_layer->bounds()), test_layer->visible_layer_rect());
1723 1732
1724 // Hit checking for a point outside the layer should return a null pointer 1733 // Hit checking for a point outside the layer should return a null pointer
1725 // (the root layer does not have a touch event handler, so it will not be 1734 // (the root layer does not have a touch event handler, so it will not be
1726 // tested either). 1735 // tested either).
1727 gfx::PointF test_point(76.f, 76.f); 1736 gfx::PointF test_point(76.f, 76.f);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1783 result_layer = 1792 result_layer =
1784 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 1793 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
1785 test_point); 1794 test_point);
1786 ASSERT_TRUE(result_layer); 1795 ASSERT_TRUE(result_layer);
1787 EXPECT_EQ(12345, result_layer->id()); 1796 EXPECT_EQ(12345, result_layer->id());
1788 1797
1789 // Check update of page scale factor on the active tree when page scale layer 1798 // Check update of page scale factor on the active tree when page scale layer
1790 // is also the root layer. 1799 // is also the root layer.
1791 page_scale_factor *= 1.5f; 1800 page_scale_factor *= 1.5f;
1792 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor); 1801 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor);
1793 EXPECT_EQ(host_impl().active_tree()->root_layer(), 1802 EXPECT_EQ(host_impl().active_tree()->root_layer_for_testing(),
1794 host_impl().active_tree()->PageScaleLayer()); 1803 host_impl().active_tree()->PageScaleLayer());
1795 1804
1796 test_point = gfx::PointF(35.f, 35.f); 1805 test_point = gfx::PointF(35.f, 35.f);
1797 test_point = 1806 test_point =
1798 gfx::ScalePoint(test_point, device_scale_factor * page_scale_factor); 1807 gfx::ScalePoint(test_point, device_scale_factor * page_scale_factor);
1799 result_layer = 1808 result_layer =
1800 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 1809 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
1801 test_point); 1810 test_point);
1802 ASSERT_TRUE(result_layer); 1811 ASSERT_TRUE(result_layer);
1803 EXPECT_EQ(12345, result_layer->id()); 1812 EXPECT_EQ(12345, result_layer->id());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1843 bounds = gfx::Size(300, 300); 1852 bounds = gfx::Size(300, 300);
1844 SetLayerPropertiesForTesting(child.get(), identity_matrix, transform_origin, 1853 SetLayerPropertiesForTesting(child.get(), identity_matrix, transform_origin,
1845 position, bounds, true, false, false); 1854 position, bounds, true, false, false);
1846 child->SetDrawsContent(true); 1855 child->SetDrawsContent(true);
1847 child->SetTouchEventHandlerRegion(touch_handler_region); 1856 child->SetTouchEventHandlerRegion(touch_handler_region);
1848 clipping_layer->test_properties()->AddChild(std::move(child)); 1857 clipping_layer->test_properties()->AddChild(std::move(child));
1849 root->test_properties()->AddChild(std::move(clipping_layer)); 1858 root->test_properties()->AddChild(std::move(clipping_layer));
1850 } 1859 }
1851 1860
1852 host_impl().SetViewportSize(root->bounds()); 1861 host_impl().SetViewportSize(root->bounds());
1853 host_impl().active_tree()->SetRootLayer(std::move(root)); 1862 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1854 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1863 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1855 1864
1856 // Sanity check the scenario we just created. 1865 // Sanity check the scenario we just created.
1857 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 1866 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
1858 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 1867 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
1859 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id()); 1868 ASSERT_EQ(456, root_layer()->render_surface()->layer_list().at(0)->id());
1860 1869
1861 // Hit checking for a point outside the layer should return a null pointer. 1870 // Hit checking for a point outside the layer should return a null pointer.
1862 // Despite the child layer being very large, it should be clipped to the root 1871 // Despite the child layer being very large, it should be clipped to the root
1863 // layer's bounds. 1872 // layer's bounds.
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
1944 } 1953 }
1945 1954
1946 float device_scale_factor = 3.f; 1955 float device_scale_factor = 3.f;
1947 float page_scale_factor = 1.f; 1956 float page_scale_factor = 1.f;
1948 float max_page_scale_factor = 1.f; 1957 float max_page_scale_factor = 1.f;
1949 gfx::Size scaled_bounds_for_root = gfx::ScaleToCeiledSize( 1958 gfx::Size scaled_bounds_for_root = gfx::ScaleToCeiledSize(
1950 root->bounds(), device_scale_factor * page_scale_factor); 1959 root->bounds(), device_scale_factor * page_scale_factor);
1951 host_impl().SetViewportSize(scaled_bounds_for_root); 1960 host_impl().SetViewportSize(scaled_bounds_for_root);
1952 1961
1953 host_impl().active_tree()->SetDeviceScaleFactor(device_scale_factor); 1962 host_impl().active_tree()->SetDeviceScaleFactor(device_scale_factor);
1954 host_impl().active_tree()->SetRootLayer(std::move(root)); 1963 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
1955 host_impl().active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 1, 1964 host_impl().active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 1,
1956 Layer::INVALID_ID); 1965 Layer::INVALID_ID);
1957 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting(); 1966 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting();
1958 host_impl().active_tree()->PushPageScaleFromMainThread( 1967 host_impl().active_tree()->PushPageScaleFromMainThread(
1959 page_scale_factor, page_scale_factor, max_page_scale_factor); 1968 page_scale_factor, page_scale_factor, max_page_scale_factor);
1960 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor); 1969 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor);
1961 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 1970 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
1962 1971
1963 // Sanity check the scenario we just created. 1972 // Sanity check the scenario we just created.
1964 ASSERT_EQ(2u, RenderSurfaceLayerList().size()); 1973 ASSERT_EQ(2u, RenderSurfaceLayerList().size());
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
2018 gfx::PointF position(0, 25); 2027 gfx::PointF position(0, 25);
2019 gfx::Size bounds(50, 50); 2028 gfx::Size bounds(50, 50);
2020 SetLayerPropertiesForTesting(notouch_layer.get(), identity_matrix, 2029 SetLayerPropertiesForTesting(notouch_layer.get(), identity_matrix,
2021 transform_origin, position, bounds, true, 2030 transform_origin, position, bounds, true,
2022 false, false); 2031 false, false);
2023 notouch_layer->SetDrawsContent(true); 2032 notouch_layer->SetDrawsContent(true);
2024 root->test_properties()->AddChild(std::move(notouch_layer)); 2033 root->test_properties()->AddChild(std::move(notouch_layer));
2025 } 2034 }
2026 2035
2027 host_impl().SetViewportSize(root->bounds()); 2036 host_impl().SetViewportSize(root->bounds());
2028 host_impl().active_tree()->SetRootLayer(std::move(root)); 2037 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2029 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2038 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2030 2039
2031 // Sanity check the scenario we just created. 2040 // Sanity check the scenario we just created.
2032 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2041 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2033 ASSERT_EQ(2u, root_layer()->render_surface()->layer_list().size()); 2042 ASSERT_EQ(2u, root_layer()->render_surface()->layer_list().size());
2034 ASSERT_EQ(123, root_layer()->render_surface()->layer_list().at(0)->id()); 2043 ASSERT_EQ(123, root_layer()->render_surface()->layer_list().at(0)->id());
2035 ASSERT_EQ(1234, root_layer()->render_surface()->layer_list().at(1)->id()); 2044 ASSERT_EQ(1234, root_layer()->render_surface()->layer_list().at(1)->id());
2036 2045
2037 gfx::PointF test_point(35.f, 35.f); 2046 gfx::PointF test_point(35.f, 35.f);
2038 LayerImpl* result_layer = 2047 LayerImpl* result_layer =
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
2086 LayerImpl::Create(host_impl().active_tree(), 12345); 2095 LayerImpl::Create(host_impl().active_tree(), 12345);
2087 SetLayerPropertiesForTesting(test_layer.get(), identity_matrix, 2096 SetLayerPropertiesForTesting(test_layer.get(), identity_matrix,
2088 transform_origin, position, bounds, true, 2097 transform_origin, position, bounds, true,
2089 false, false); 2098 false, false);
2090 2099
2091 test_layer->SetDrawsContent(false); 2100 test_layer->SetDrawsContent(false);
2092 test_layer->SetTouchEventHandlerRegion(touch_handler_region); 2101 test_layer->SetTouchEventHandlerRegion(touch_handler_region);
2093 root->test_properties()->AddChild(std::move(test_layer)); 2102 root->test_properties()->AddChild(std::move(test_layer));
2094 } 2103 }
2095 host_impl().SetViewportSize(root->bounds()); 2104 host_impl().SetViewportSize(root->bounds());
2096 host_impl().active_tree()->SetRootLayer(std::move(root)); 2105 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2097 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2106 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2098 2107
2099 LayerImpl* test_layer = 2108 LayerImpl* test_layer = host_impl()
2100 host_impl().active_tree()->root_layer()->test_properties()->children[0]; 2109 .active_tree()
2110 ->root_layer_for_testing()
2111 ->test_properties()
2112 ->children[0];
2101 // As test_layer doesn't draw content, the layer list of root's render surface 2113 // As test_layer doesn't draw content, the layer list of root's render surface
2102 // should contain only the root layer. 2114 // should contain only the root layer.
2103 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2115 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2104 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 2116 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
2105 2117
2106 // Hit testing for a point outside the test layer should return null pointer. 2118 // Hit testing for a point outside the test layer should return null pointer.
2107 // We also implicitly check that the updated screen space transform of a layer 2119 // We also implicitly check that the updated screen space transform of a layer
2108 // that is not in drawn render surface layer list (test_layer) is used during 2120 // that is not in drawn render surface layer list (test_layer) is used during
2109 // hit testing (becuase the point is inside test_layer with respect to the old 2121 // hit testing (becuase the point is inside test_layer with respect to the old
2110 // screen space transform). 2122 // screen space transform).
(...skipping 10 matching lines...) Expand all
2121 EXPECT_FALSE(result_layer); 2133 EXPECT_FALSE(result_layer);
2122 EXPECT_FALSE(test_layer->is_drawn_render_surface_layer_list_member()); 2134 EXPECT_FALSE(test_layer->is_drawn_render_surface_layer_list_member());
2123 EXPECT_TRANSFORMATION_MATRIX_EQ( 2135 EXPECT_TRANSFORMATION_MATRIX_EQ(
2124 expected_screen_space_transform, 2136 expected_screen_space_transform,
2125 draw_property_utils::ScreenSpaceTransform( 2137 draw_property_utils::ScreenSpaceTransform(
2126 test_layer, 2138 test_layer,
2127 host_impl().active_tree()->property_trees()->transform_tree)); 2139 host_impl().active_tree()->property_trees()->transform_tree));
2128 2140
2129 // We change the position of the test layer such that the test point is now 2141 // We change the position of the test layer such that the test point is now
2130 // inside the test_layer. 2142 // inside the test_layer.
2131 test_layer = 2143 test_layer = host_impl()
2132 host_impl().active_tree()->root_layer()->test_properties()->children[0]; 2144 .active_tree()
2145 ->root_layer_for_testing()
2146 ->test_properties()
2147 ->children[0];
2133 test_layer->SetPosition(gfx::PointF(10.f, 10.f)); 2148 test_layer->SetPosition(gfx::PointF(10.f, 10.f));
2134 test_layer->NoteLayerPropertyChanged(); 2149 test_layer->NoteLayerPropertyChanged();
2135 expected_screen_space_transform.MakeIdentity(); 2150 expected_screen_space_transform.MakeIdentity();
2136 expected_screen_space_transform.Translate(10.f, 10.f); 2151 expected_screen_space_transform.Translate(10.f, 10.f);
2137 2152
2138 host_impl().active_tree()->property_trees()->needs_rebuild = true; 2153 host_impl().active_tree()->property_trees()->needs_rebuild = true;
2139 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting(); 2154 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting();
2140 result_layer = 2155 result_layer =
2141 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion( 2156 host_impl().active_tree()->FindLayerThatIsHitByPointInTouchHandlerRegion(
2142 test_point); 2157 test_point);
(...skipping 14 matching lines...) Expand all
2157 2172
2158 gfx::Transform identity_matrix; 2173 gfx::Transform identity_matrix;
2159 gfx::Point3F transform_origin; 2174 gfx::Point3F transform_origin;
2160 gfx::PointF position; 2175 gfx::PointF position;
2161 gfx::Size bounds(100, 100); 2176 gfx::Size bounds(100, 100);
2162 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin, 2177 SetLayerPropertiesForTesting(root.get(), identity_matrix, transform_origin,
2163 position, bounds, true, false, true); 2178 position, bounds, true, false, true);
2164 root->SetDrawsContent(true); 2179 root->SetDrawsContent(true);
2165 2180
2166 host_impl().SetViewportSize(root->bounds()); 2181 host_impl().SetViewportSize(root->bounds());
2167 host_impl().active_tree()->SetRootLayer(std::move(root)); 2182 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2168 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2183 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2169 2184
2170 // Sanity check the scenario we just created. 2185 // Sanity check the scenario we just created.
2171 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2186 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2172 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size()); 2187 ASSERT_EQ(1u, root_layer()->render_surface()->layer_list().size());
2173 2188
2174 LayerSelection input; 2189 LayerSelection input;
2175 2190
2176 input.start.type = gfx::SelectionBound::LEFT; 2191 input.start.type = gfx::SelectionBound::LEFT;
2177 input.start.edge_top = gfx::Point(10, 10); 2192 input.start.edge_top = gfx::Point(10, 10);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
2261 bounds = gfx::Size(100, 100); 2276 bounds = gfx::Size(100, 100);
2262 SetLayerPropertiesForTesting(clipped_layer.get(), identity_matrix, 2277 SetLayerPropertiesForTesting(clipped_layer.get(), identity_matrix,
2263 transform_origin, position, bounds, true, 2278 transform_origin, position, bounds, true,
2264 false, false); 2279 false, false);
2265 clipped_layer->SetDrawsContent(true); 2280 clipped_layer->SetDrawsContent(true);
2266 clipping_layer->test_properties()->AddChild(std::move(clipped_layer)); 2281 clipping_layer->test_properties()->AddChild(std::move(clipped_layer));
2267 root->test_properties()->AddChild(std::move(clipping_layer)); 2282 root->test_properties()->AddChild(std::move(clipping_layer));
2268 } 2283 }
2269 2284
2270 host_impl().SetViewportSize(root->bounds()); 2285 host_impl().SetViewportSize(root->bounds());
2271 host_impl().active_tree()->SetRootLayer(std::move(root)); 2286 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2272 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2287 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2273 2288
2274 // Sanity check the scenario we just created. 2289 // Sanity check the scenario we just created.
2275 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2290 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
2276 2291
2277 LayerSelection input; 2292 LayerSelection input;
2278 input.start.type = gfx::SelectionBound::LEFT; 2293 input.start.type = gfx::SelectionBound::LEFT;
2279 input.start.edge_top = gfx::Point(25, 10); 2294 input.start.edge_top = gfx::Point(25, 10);
2280 input.start.edge_bottom = gfx::Point(25, 30); 2295 input.start.edge_bottom = gfx::Point(25, 30);
2281 input.start.layer_id = clipped_layer_id; 2296 input.start.layer_id = clipped_layer_id;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
2355 } 2370 }
2356 2371
2357 float device_scale_factor = 3.f; 2372 float device_scale_factor = 3.f;
2358 float page_scale_factor = 5.f; 2373 float page_scale_factor = 5.f;
2359 gfx::Size scaled_bounds_for_root = gfx::ScaleToCeiledSize( 2374 gfx::Size scaled_bounds_for_root = gfx::ScaleToCeiledSize(
2360 root->bounds(), device_scale_factor * page_scale_factor); 2375 root->bounds(), device_scale_factor * page_scale_factor);
2361 host_impl().SetViewportSize(scaled_bounds_for_root); 2376 host_impl().SetViewportSize(scaled_bounds_for_root);
2362 2377
2363 host_impl().active_tree()->SetDeviceScaleFactor(device_scale_factor); 2378 host_impl().active_tree()->SetDeviceScaleFactor(device_scale_factor);
2364 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor); 2379 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor);
2365 host_impl().active_tree()->SetRootLayer(std::move(root)); 2380 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2366 host_impl().active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 1, 2381 host_impl().active_tree()->SetViewportLayersFromIds(Layer::INVALID_ID, 1, 1,
2367 Layer::INVALID_ID); 2382 Layer::INVALID_ID);
2368 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting(); 2383 host_impl().active_tree()->BuildLayerListAndPropertyTreesForTesting();
2369 host_impl().active_tree()->PushPageScaleFromMainThread( 2384 host_impl().active_tree()->PushPageScaleFromMainThread(
2370 page_scale_factor, page_scale_factor, page_scale_factor); 2385 page_scale_factor, page_scale_factor, page_scale_factor);
2371 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor); 2386 host_impl().active_tree()->SetPageScaleOnActiveTree(page_scale_factor);
2372 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2387 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2373 2388
2374 // Sanity check the scenario we just created. 2389 // Sanity check the scenario we just created.
2375 ASSERT_EQ(1u, RenderSurfaceLayerList().size()); 2390 ASSERT_EQ(1u, RenderSurfaceLayerList().size());
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
2441 SetLayerPropertiesForTesting(grand_child.get(), large_transform, 2456 SetLayerPropertiesForTesting(grand_child.get(), large_transform,
2442 transform_origin, position, bounds, true, 2457 transform_origin, position, bounds, true,
2443 false, false); 2458 false, false);
2444 grand_child->SetDrawsContent(true); 2459 grand_child->SetDrawsContent(true);
2445 2460
2446 child->test_properties()->AddChild(std::move(grand_child)); 2461 child->test_properties()->AddChild(std::move(grand_child));
2447 root->test_properties()->AddChild(std::move(child)); 2462 root->test_properties()->AddChild(std::move(child));
2448 } 2463 }
2449 2464
2450 host_impl().SetViewportSize(root->bounds()); 2465 host_impl().SetViewportSize(root->bounds());
2451 host_impl().active_tree()->SetRootLayer(std::move(root)); 2466 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2452 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2467 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2453 2468
2454 LayerSelection input; 2469 LayerSelection input;
2455 2470
2456 input.start.type = gfx::SelectionBound::LEFT; 2471 input.start.type = gfx::SelectionBound::LEFT;
2457 input.start.edge_top = gfx::Point(10, 10); 2472 input.start.edge_top = gfx::Point(10, 10);
2458 input.start.edge_bottom = gfx::Point(10, 20); 2473 input.start.edge_bottom = gfx::Point(10, 20);
2459 input.start.layer_id = grand_child_id; 2474 input.start.layer_id = grand_child_id;
2460 2475
2461 input.end.type = gfx::SelectionBound::RIGHT; 2476 input.end.type = gfx::SelectionBound::RIGHT;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
2535 translate_z.Translate3d(0, 0, 10); 2550 translate_z.Translate3d(0, 0, 10);
2536 SetLayerPropertiesForTesting(right_child.get(), translate_z, 2551 SetLayerPropertiesForTesting(right_child.get(), translate_z,
2537 transform_origin, position, bounds, false, 2552 transform_origin, position, bounds, false,
2538 false, false); 2553 false, false);
2539 } 2554 }
2540 2555
2541 root->test_properties()->AddChild(std::move(left_child)); 2556 root->test_properties()->AddChild(std::move(left_child));
2542 root->test_properties()->AddChild(std::move(right_child)); 2557 root->test_properties()->AddChild(std::move(right_child));
2543 2558
2544 host_impl().SetViewportSize(root->bounds()); 2559 host_impl().SetViewportSize(root->bounds());
2545 host_impl().active_tree()->SetRootLayer(std::move(root)); 2560 host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
2546 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree(); 2561 host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
2547 CHECK_EQ(1u, RenderSurfaceLayerList().size()); 2562 CHECK_EQ(1u, RenderSurfaceLayerList().size());
2548 2563
2549 gfx::PointF test_point = gfx::PointF(1.f, 1.f); 2564 gfx::PointF test_point = gfx::PointF(1.f, 1.f);
2550 LayerImpl* result_layer = 2565 LayerImpl* result_layer =
2551 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point); 2566 host_impl().active_tree()->FindLayerThatIsHitByPoint(test_point);
2552 2567
2553 CHECK(result_layer); 2568 CHECK(result_layer);
2554 EXPECT_EQ(2, result_layer->id()); 2569 EXPECT_EQ(2, result_layer->id());
2555 } 2570 }
2556 2571
2557 } // namespace 2572 } // namespace
2558 } // namespace cc 2573 } // 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