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

Unified Diff: cc/trees/layer_tree_impl_unittest.cc

Issue 2834123002: cc: Replace render surface layer list with a render surface list (Closed)
Patch Set: Address review comments Created 3 years, 8 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 side-by-side diff with in-line comments
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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_impl_unittest.cc
diff --git a/cc/trees/layer_tree_impl_unittest.cc b/cc/trees/layer_tree_impl_unittest.cc
index 3b0cbeec66371a3212dfb877d0752c6364c65618..b6501afb83b1bc9a078bc49ace2626e61e2f942e 100644
--- a/cc/trees/layer_tree_impl_unittest.cc
+++ b/cc/trees/layer_tree_impl_unittest.cc
@@ -36,8 +36,8 @@ class LayerTreeImplTest : public testing::Test {
LayerImpl* root_layer() { return impl_test_.root_layer_for_testing(); }
- const LayerImplList& RenderSurfaceLayerList() const {
- return host_impl().active_tree()->RenderSurfaceLayerList();
+ const RenderSurfaceList& GetRenderSurfaceList() const {
+ return host_impl().active_tree()->GetRenderSurfaceList();
}
void ExecuteCalculateDrawProperties(LayerImpl* root_layer) {
@@ -45,9 +45,9 @@ class LayerTreeImplTest : public testing::Test {
// empty.
DCHECK(!root_layer->bounds().IsEmpty());
- render_surface_layer_list_impl_.clear();
+ render_surface_list_impl_.clear();
LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
- root_layer, root_layer->bounds(), &render_surface_layer_list_impl_);
+ root_layer, root_layer->bounds(), &render_surface_list_impl_);
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawPropertiesForTesting(&inputs);
}
@@ -105,7 +105,7 @@ class LayerTreeImplTest : public testing::Test {
host_impl().SetViewportSize(root->bounds());
host_impl().active_tree()->SetRootLayerForTesting(std::move(root));
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
- CHECK_EQ(1u, RenderSurfaceLayerList().size());
+ CHECK_EQ(1u, GetRenderSurfaceList().size());
gfx::PointF test_point = gfx::PointF(1.f, 1.f);
LayerImpl* result_layer =
@@ -117,7 +117,7 @@ class LayerTreeImplTest : public testing::Test {
private:
LayerTestCommon::LayerImplTest impl_test_;
- std::vector<LayerImpl*> render_surface_layer_list_impl_;
+ RenderSurfaceList render_surface_list_impl_;
};
TEST_F(LayerTreeImplTest, HitTestingForSingleLayer) {
@@ -130,8 +130,8 @@ TEST_F(LayerTreeImplTest, HitTestingForSingleLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
// Hit testing for a point outside the layer should return a null pointer.
gfx::PointF test_point(101.f, 101.f);
@@ -199,8 +199,8 @@ TEST_F(LayerTreeImplTest, HitTestingForSingleLayerAndHud) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(2u, root_layer()->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(2, root_layer()->GetRenderSurface()->num_contributors());
// Hit testing for a point inside HUD, but outside root should return null
gfx::PointF test_point(101.f, 101.f);
@@ -244,8 +244,8 @@ TEST_F(LayerTreeImplTest, HitTestingForUninvertibleTransform) {
host_impl().SetViewportSize(root->bounds());
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
ASSERT_FALSE(root_layer()->ScreenSpaceTransform().IsInvertible());
// Hit testing any point should not hit the layer. If the invertible matrix is
@@ -299,8 +299,8 @@ TEST_F(LayerTreeImplTest, HitTestingForSinglePositionedLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
// Hit testing for a point outside the layer should return a null pointer.
gfx::PointF test_point(49.f, 49.f);
@@ -344,8 +344,8 @@ TEST_F(LayerTreeImplTest, HitTestingForSingleRotatedLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
// Hit testing for points outside the layer.
// These corners would have been inside the un-transformed layer, but they
@@ -512,8 +512,8 @@ TEST_F(LayerTreeImplTest, HitTestingForSinglePerspectiveLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
// Hit testing for points outside the layer.
// These corners would have been inside the un-transformed layer, but they
@@ -570,9 +570,10 @@ TEST_F(LayerTreeImplTest, HitTestingForSimpleClippedLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(456, root_layer()->GetRenderSurface()->layer_list().at(0)->id());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
+ LayerImpl* child_layer = host_impl().active_tree()->LayerById(456);
+ EXPECT_TRUE(child_layer->is_drawn_render_surface_layer_list_member());
// Hit testing for a point outside the layer should return a null pointer.
// Despite the child layer being very large, it should be clipped to the root
@@ -747,9 +748,10 @@ TEST_F(LayerTreeImplTest, HitTestingForNonClippingIntermediateLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root_layer()->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(456, root_layer()->GetRenderSurface()->layer_list().at(0)->id());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root_layer()->GetRenderSurface()->num_contributors());
+ LayerImpl* child_layer = host_impl().active_tree()->LayerById(456);
+ EXPECT_TRUE(child_layer->is_drawn_render_surface_layer_list_member());
// Hit testing for a point outside the layer should return a null pointer.
gfx::PointF test_point(69.f, 69.f);
@@ -827,14 +829,14 @@ TEST_F(LayerTreeImplTest, HitTestingForMultipleLayers) {
ASSERT_TRUE(child1);
ASSERT_TRUE(child2);
ASSERT_TRUE(grand_child1);
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
RenderSurfaceImpl* root_render_surface = root->GetRenderSurface();
- ASSERT_EQ(4u, root_render_surface->layer_list().size());
- ASSERT_EQ(1, root_render_surface->layer_list().at(0)->id()); // root layer
- ASSERT_EQ(2, root_render_surface->layer_list().at(1)->id()); // child1
- ASSERT_EQ(4, root_render_surface->layer_list().at(2)->id()); // grand_child1
- ASSERT_EQ(3, root_render_surface->layer_list().at(3)->id()); // child2
+ ASSERT_EQ(4, root_render_surface->num_contributors());
+ EXPECT_TRUE(root_layer()->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(child1->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(child2->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(grand_child1->is_drawn_render_surface_layer_list_member());
// Nothing overlaps the root at (1, 1), so hit testing there should find
// the root layer.
@@ -979,7 +981,7 @@ TEST_F(LayerTreeImplTest, HitTestingForMultipleLayersAtVaryingDepths) {
ASSERT_TRUE(child1);
ASSERT_TRUE(child2);
ASSERT_TRUE(grand_child1);
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
// Nothing overlaps the root_layer at (1, 1), so hit testing there should find
// the root layer.
@@ -1179,18 +1181,18 @@ TEST_F(LayerTreeImplTest, HitTestingForMultipleLayerLists) {
ASSERT_TRUE(child1->GetRenderSurface());
ASSERT_TRUE(child2->GetRenderSurface());
ASSERT_TRUE(grand_child1->GetRenderSurface());
- ASSERT_EQ(4u, RenderSurfaceLayerList().size());
+ ASSERT_EQ(4u, GetRenderSurfaceList().size());
// The root surface has the root layer, and child1's and child2's render
// surfaces.
- ASSERT_EQ(3u, root->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(3, root->GetRenderSurface()->num_contributors());
// The child1 surface has the child1 layer and grand_child1's render surface.
- ASSERT_EQ(2u, child1->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(1u, child2->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(1u, grand_child1->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(1, RenderSurfaceLayerList().at(0)->id()); // root layer
- ASSERT_EQ(2, RenderSurfaceLayerList()[1]->id()); // child1
- ASSERT_EQ(4, RenderSurfaceLayerList().at(2)->id()); // grand_child1
- ASSERT_EQ(3, RenderSurfaceLayerList()[3]->id()); // child2
+ ASSERT_EQ(2, child1->GetRenderSurface()->num_contributors());
+ ASSERT_EQ(1, child2->GetRenderSurface()->num_contributors());
+ ASSERT_EQ(1, grand_child1->GetRenderSurface()->num_contributors());
+ EXPECT_TRUE(root_layer()->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(child1->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(grand_child1->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(child2->is_drawn_render_surface_layer_list_member());
// Nothing overlaps the root at (1, 1), so hit testing there should find
// the root layer.
@@ -1251,8 +1253,8 @@ TEST_F(LayerTreeImplTest, HitCheckingTouchHandlerRegionsForSingleLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root->GetRenderSurface()->num_contributors());
// Hit checking for any point should return a null pointer for a layer without
// any touch event handler regions.
@@ -1328,8 +1330,8 @@ TEST_F(LayerTreeImplTest,
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root->GetRenderSurface()->num_contributors());
ASSERT_FALSE(root->ScreenSpaceTransform().IsInvertible());
// Hit checking any point should not hit the touch handler region on the
@@ -1395,8 +1397,8 @@ TEST_F(LayerTreeImplTest,
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root->GetRenderSurface()->num_contributors());
// Hit checking for a point outside the layer should return a null pointer.
gfx::PointF test_point(49.f, 49.f);
@@ -1480,8 +1482,8 @@ TEST_F(LayerTreeImplTest,
// The visible content rect for test_layer is actually 100x100, even though
// its layout size is 50x50, positioned at 25x25.
LayerImpl* test_layer = root->test_properties()->children[0];
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root->GetRenderSurface()->num_contributors());
// Check whether the child layer fits into the root after scaled.
EXPECT_EQ(gfx::Rect(test_layer->bounds()), test_layer->visible_layer_rect());
@@ -1607,9 +1609,10 @@ TEST_F(LayerTreeImplTest, HitCheckingTouchHandlerRegionsForSimpleClippedLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(456, root->GetRenderSurface()->layer_list().at(0)->id());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root->GetRenderSurface()->num_contributors());
+ LayerImpl* child_layer = host_impl().active_tree()->LayerById(456);
+ EXPECT_TRUE(child_layer->is_drawn_render_surface_layer_list_member());
// Hit checking for a point outside the layer should return a null pointer.
// Despite the child layer being very large, it should be clipped to the root
@@ -1703,7 +1706,7 @@ TEST_F(LayerTreeImplTest,
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(2u, RenderSurfaceLayerList().size());
+ ASSERT_EQ(2u, GetRenderSurfaceList().size());
// Hit checking for a point outside the layer should return a null pointer.
// Despite the child layer being very large, it should be clipped to the root
@@ -1760,10 +1763,12 @@ TEST_F(LayerTreeImplTest, HitCheckingTouchHandlerOverlappingRegions) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(2u, root->GetRenderSurface()->layer_list().size());
- ASSERT_EQ(123, root->GetRenderSurface()->layer_list().at(0)->id());
- ASSERT_EQ(1234, root->GetRenderSurface()->layer_list().at(1)->id());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(2, root->GetRenderSurface()->num_contributors());
+ LayerImpl* touch_layer = host_impl().active_tree()->LayerById(123);
+ LayerImpl* notouch_layer = host_impl().active_tree()->LayerById(1234);
+ EXPECT_TRUE(touch_layer->is_drawn_render_surface_layer_list_member());
+ EXPECT_TRUE(notouch_layer->is_drawn_render_surface_layer_list_member());
gfx::PointF test_point(35.f, 35.f);
LayerImpl* result_layer =
@@ -1816,10 +1821,10 @@ TEST_F(LayerTreeImplTest, HitTestingTouchHandlerRegionsForLayerThatIsNotDrawn) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
LayerImpl* test_layer = root->test_properties()->children[0];
- // As test_layer doesn't draw content, the layer list of root's render surface
- // should contain only the root layer.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
+ // As test_layer doesn't draw content, it shouldn't contribute content to the
+ // root surface.
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ EXPECT_FALSE(test_layer->is_drawn_render_surface_layer_list_member());
// Hit testing for a point outside the test layer should return null pointer.
// We also implicitly check that the updated screen space transform of a layer
@@ -1876,8 +1881,8 @@ TEST_F(LayerTreeImplTest, SelectionBoundsForSingleLayer) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
- ASSERT_EQ(1u, root->GetRenderSurface()->layer_list().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
+ ASSERT_EQ(1, root->GetRenderSurface()->num_contributors());
LayerSelection input;
@@ -1957,7 +1962,7 @@ TEST_F(LayerTreeImplTest, SelectionBoundsForPartialOccludedLayers) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
LayerSelection input;
input.start.type = gfx::SelectionBound::LEFT;
@@ -2095,7 +2100,7 @@ TEST_F(LayerTreeImplTest, SelectionBoundsForScaledLayers) {
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
// Sanity check the scenario we just created.
- ASSERT_EQ(1u, RenderSurfaceLayerList().size());
+ ASSERT_EQ(1u, GetRenderSurfaceList().size());
LayerSelection input;
input.start.type = gfx::SelectionBound::LEFT;
@@ -2263,7 +2268,7 @@ TEST_F(LayerTreeImplTest, HitTestingCorrectLayerWheelListener) {
host_impl().SetViewportSize(root->bounds());
host_impl().UpdateNumChildrenAndDrawPropertiesForActiveTree();
- CHECK_EQ(1u, RenderSurfaceLayerList().size());
+ CHECK_EQ(1u, GetRenderSurfaceList().size());
gfx::PointF test_point = gfx::PointF(1.f, 1.f);
LayerImpl* result_layer =
« 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