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

Unified Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 2866733002: Remove owning_id from EffectNode and replace it by an opaque stable_id (Closed)
Patch Set: none Created 3 years, 7 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/effect_node.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_common_unittest.cc
diff --git a/cc/trees/layer_tree_host_common_unittest.cc b/cc/trees/layer_tree_host_common_unittest.cc
index 6817657d07dd8ec3c4685866c9914aa6aabd1235..055ae9165c458fa80b7809b7a4752a182649953d 100644
--- a/cc/trees/layer_tree_host_common_unittest.cc
+++ b/cc/trees/layer_tree_host_common_unittest.cc
@@ -878,16 +878,20 @@ TEST_F(LayerTreeHostCommonTest, TransformsForRenderSurfaceHierarchy) {
// Only layers that are associated with render surfaces should have an actual
// RenderSurface() value.
ASSERT_TRUE(GetRenderSurface(root));
- ASSERT_FALSE(GetRenderSurface(child_of_root));
- ASSERT_FALSE(GetRenderSurface(grand_child_of_root));
+ ASSERT_EQ(GetRenderSurface(child_of_root), GetRenderSurface(root));
+ ASSERT_EQ(GetRenderSurface(grand_child_of_root), GetRenderSurface(root));
- ASSERT_TRUE(GetRenderSurface(render_surface1));
- ASSERT_FALSE(GetRenderSurface(child_of_rs1));
- ASSERT_FALSE(GetRenderSurface(grand_child_of_rs1));
+ ASSERT_NE(GetRenderSurface(render_surface1), GetRenderSurface(root));
+ ASSERT_EQ(GetRenderSurface(child_of_rs1), GetRenderSurface(render_surface1));
+ ASSERT_EQ(GetRenderSurface(grand_child_of_rs1),
+ GetRenderSurface(render_surface1));
- ASSERT_TRUE(GetRenderSurface(render_surface2));
- ASSERT_FALSE(GetRenderSurface(child_of_rs2));
- ASSERT_FALSE(GetRenderSurface(grand_child_of_rs2));
+ ASSERT_NE(GetRenderSurface(render_surface2), GetRenderSurface(root));
+ ASSERT_NE(GetRenderSurface(render_surface2),
+ GetRenderSurface(render_surface1));
+ ASSERT_EQ(GetRenderSurface(child_of_rs2), GetRenderSurface(render_surface2));
+ ASSERT_EQ(GetRenderSurface(grand_child_of_rs2),
+ GetRenderSurface(render_surface2));
// Verify all render target accessors
EXPECT_EQ(GetRenderSurface(root), parent->render_target());
@@ -1548,7 +1552,7 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceDrawOpacity) {
ExecuteCalculateDrawProperties(root);
ASSERT_TRUE(GetRenderSurface(surface1));
- ASSERT_FALSE(GetRenderSurface(not_surface));
+ ASSERT_EQ(GetRenderSurface(not_surface), GetRenderSurface(surface1));
ASSERT_TRUE(GetRenderSurface(surface2));
EXPECT_EQ(0.5f, GetRenderSurface(surface1)->draw_opacity());
// surface2's draw opacity should include the opacity of not-surface and
@@ -1572,7 +1576,7 @@ TEST_F(LayerTreeHostCommonTest, ForceRenderSurface) {
// The root layer always creates a render surface
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_TRUE(GetRenderSurface(render_surface1));
+ EXPECT_NE(GetRenderSurface(render_surface1), GetRenderSurface(root));
}
{
@@ -1580,7 +1584,7 @@ TEST_F(LayerTreeHostCommonTest, ForceRenderSurface) {
render_surface1->layer_tree_impl()->property_trees()->needs_rebuild = true;
ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_FALSE(GetRenderSurface(render_surface1));
+ EXPECT_EQ(GetRenderSurface(render_surface1), GetRenderSurface(root));
}
}
@@ -1607,8 +1611,8 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfacesFlattenScreenSpaceTransform) {
ExecuteCalculateDrawProperties(root);
EXPECT_TRUE(GetRenderSurface(parent));
- EXPECT_FALSE(GetRenderSurface(child));
- EXPECT_FALSE(GetRenderSurface(grand_child));
+ EXPECT_EQ(GetRenderSurface(child), GetRenderSurface(parent));
+ EXPECT_EQ(GetRenderSurface(grand_child), GetRenderSurface(parent));
EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(), child->DrawTransform());
EXPECT_TRANSFORMATION_MATRIX_EQ(gfx::Transform(),
@@ -1947,6 +1951,42 @@ TEST_F(LayerTreeHostCommonTest, ClipRectIsPropagatedCorrectlyToSurfaces) {
GetRenderSurface(grand_child3)->clip_rect());
}
+TEST_F(LayerTreeHostCommonTest, HitTestingWhenSurfacesDisabled) {
+ LayerImpl* root = root_layer_for_testing();
+ LayerImpl* parent = AddChild<LayerImpl>(root);
+ LayerImpl* child = AddChild<LayerImpl>(parent);
+ LayerImpl* grand_child = AddChild<LayerImpl>(child);
+ LayerImpl* leaf_node = AddChild<LayerImpl>(grand_child);
+
+ root->SetBounds(gfx::Size(100, 100));
+ parent->SetPosition(gfx::PointF(2.f, 2.f));
+ parent->SetBounds(gfx::Size(400, 400));
+ parent->SetMasksToBounds(true);
+ child->SetPosition(gfx::PointF(4.f, 4.f));
+ child->SetBounds(gfx::Size(800, 800));
+ child->SetMasksToBounds(true);
+ child->test_properties()->force_render_surface = true;
+ grand_child->SetPosition(gfx::PointF(8.f, 8.f));
+ grand_child->SetBounds(gfx::Size(1500, 1500));
+ grand_child->test_properties()->force_render_surface = true;
+ leaf_node->SetPosition(gfx::PointF(16.f, 16.f));
+ leaf_node->SetBounds(gfx::Size(2000, 2000));
+
+ root->SetDrawsContent(true);
+ parent->SetDrawsContent(true);
+ child->SetDrawsContent(true);
+ grand_child->SetDrawsContent(true);
+ leaf_node->SetDrawsContent(true);
+
+ host_impl()->set_resourceless_software_draw_for_testing();
+ ExecuteCalculateDrawPropertiesWithoutSeparateSurfaces(root);
+ gfx::PointF test_point(90.f, 90.f);
+ LayerImpl* result_layer =
+ root->layer_tree_impl()->FindLayerThatIsHitByPoint(test_point);
+ ASSERT_TRUE(result_layer);
+ EXPECT_EQ(leaf_node, result_layer);
+}
+
TEST_F(LayerTreeHostCommonTest, AnimationsForRenderSurfaceHierarchy) {
LayerImpl* root = root_layer_for_testing();
LayerImpl* render_surface1 = AddChildToRoot<LayerImpl>();
@@ -2046,16 +2086,20 @@ TEST_F(LayerTreeHostCommonTest, AnimationsForRenderSurfaceHierarchy) {
// Only layers that are associated with render surfaces should have an actual
// RenderSurface() value.
ASSERT_TRUE(GetRenderSurface(root));
- ASSERT_FALSE(GetRenderSurface(child_of_root));
- ASSERT_FALSE(GetRenderSurface(grand_child_of_root));
+ ASSERT_EQ(GetRenderSurface(child_of_root), GetRenderSurface(root));
+ ASSERT_EQ(GetRenderSurface(grand_child_of_root), GetRenderSurface(root));
- ASSERT_TRUE(GetRenderSurface(render_surface1));
- ASSERT_FALSE(GetRenderSurface(child_of_rs1));
- ASSERT_FALSE(GetRenderSurface(grand_child_of_rs1));
+ ASSERT_NE(GetRenderSurface(render_surface1), GetRenderSurface(root));
+ ASSERT_EQ(GetRenderSurface(child_of_rs1), GetRenderSurface(render_surface1));
+ ASSERT_EQ(GetRenderSurface(grand_child_of_rs1),
+ GetRenderSurface(render_surface1));
- ASSERT_TRUE(GetRenderSurface(render_surface2));
- ASSERT_FALSE(GetRenderSurface(child_of_rs2));
- ASSERT_FALSE(GetRenderSurface(grand_child_of_rs2));
+ ASSERT_NE(GetRenderSurface(render_surface2), GetRenderSurface(root));
+ ASSERT_NE(GetRenderSurface(render_surface2),
+ GetRenderSurface(render_surface1));
+ ASSERT_EQ(GetRenderSurface(child_of_rs2), GetRenderSurface(render_surface2));
+ ASSERT_EQ(GetRenderSurface(grand_child_of_rs2),
+ GetRenderSurface(render_surface2));
// Verify all render target accessors
EXPECT_EQ(GetRenderSurface(root), root->render_target());
@@ -3686,14 +3730,20 @@ TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithoutPreserves3d) {
ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
// Verify which render surfaces were created.
- EXPECT_FALSE(GetRenderSurface(front_facing_child));
- EXPECT_FALSE(GetRenderSurface(back_facing_child));
- EXPECT_TRUE(GetRenderSurface(front_facing_surface));
- EXPECT_TRUE(GetRenderSurface(back_facing_surface));
- EXPECT_FALSE(GetRenderSurface(front_facing_child_of_front_facing_surface));
- EXPECT_FALSE(GetRenderSurface(back_facing_child_of_front_facing_surface));
- EXPECT_FALSE(GetRenderSurface(front_facing_child_of_back_facing_surface));
- EXPECT_FALSE(GetRenderSurface(back_facing_child_of_back_facing_surface));
+ EXPECT_EQ(GetRenderSurface(front_facing_child), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(back_facing_child), GetRenderSurface(root));
+ EXPECT_NE(GetRenderSurface(front_facing_surface), GetRenderSurface(root));
+ EXPECT_NE(GetRenderSurface(back_facing_surface), GetRenderSurface(root));
+ EXPECT_NE(GetRenderSurface(back_facing_surface),
+ GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(front_facing_child_of_front_facing_surface),
+ GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(back_facing_child_of_front_facing_surface),
+ GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(front_facing_child_of_back_facing_surface),
+ GetRenderSurface(back_facing_surface));
+ EXPECT_EQ(GetRenderSurface(back_facing_child_of_back_facing_surface),
+ GetRenderSurface(back_facing_surface));
EXPECT_EQ(3u, update_layer_list_impl()->size());
EXPECT_TRUE(UpdateLayerListImplContains(front_facing_child->id()));
@@ -3794,15 +3844,21 @@ TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithPreserves3d) {
ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
// Verify which render surfaces were created and used.
- EXPECT_FALSE(GetRenderSurface(front_facing_child));
- EXPECT_FALSE(GetRenderSurface(back_facing_child));
- EXPECT_TRUE(GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(front_facing_child), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(back_facing_child), GetRenderSurface(root));
+ EXPECT_NE(GetRenderSurface(front_facing_surface), GetRenderSurface(root));
// We expect that a has_render_surface was created but not used.
- EXPECT_TRUE(GetRenderSurface(back_facing_surface));
- EXPECT_FALSE(GetRenderSurface(front_facing_child_of_front_facing_surface));
- EXPECT_FALSE(GetRenderSurface(back_facing_child_of_front_facing_surface));
- EXPECT_FALSE(GetRenderSurface(front_facing_child_of_back_facing_surface));
- EXPECT_FALSE(GetRenderSurface(back_facing_child_of_back_facing_surface));
+ EXPECT_NE(GetRenderSurface(back_facing_surface), GetRenderSurface(root));
+ EXPECT_NE(GetRenderSurface(back_facing_surface),
+ GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(front_facing_child_of_front_facing_surface),
+ GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(back_facing_child_of_front_facing_surface),
+ GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(front_facing_child_of_back_facing_surface),
+ GetRenderSurface(back_facing_surface));
+ EXPECT_EQ(GetRenderSurface(back_facing_child_of_back_facing_surface),
+ GetRenderSurface(back_facing_surface));
EXPECT_EQ(3u, update_layer_list_impl()->size());
@@ -3868,11 +3924,12 @@ TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithAnimatingTransforms) {
ExecuteCalculateDrawPropertiesAndSaveUpdateLayerList(root);
- EXPECT_FALSE(GetRenderSurface(child));
+ EXPECT_EQ(GetRenderSurface(child), GetRenderSurface(root));
EXPECT_TRUE(GetRenderSurface(animating_surface));
- EXPECT_FALSE(GetRenderSurface(child_of_animating_surface));
- EXPECT_FALSE(GetRenderSurface(animating_child));
- EXPECT_FALSE(GetRenderSurface(child2));
+ EXPECT_EQ(GetRenderSurface(child_of_animating_surface),
+ GetRenderSurface(animating_surface));
+ EXPECT_EQ(GetRenderSurface(animating_child), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(child2), GetRenderSurface(root));
EXPECT_EQ(1u, update_layer_list_impl()->size());
@@ -3931,9 +3988,9 @@ TEST_F(LayerTreeHostCommonTest,
EXPECT_TRUE(GetRenderSurface(front_facing_surface));
// We expect the render surface to have been created, but remain unused.
- EXPECT_TRUE(GetRenderSurface(back_facing_surface));
- EXPECT_FALSE(GetRenderSurface(child1));
- EXPECT_FALSE(GetRenderSurface(child2));
+ EXPECT_NE(GetRenderSurface(back_facing_surface), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(child1), GetRenderSurface(front_facing_surface));
+ EXPECT_EQ(GetRenderSurface(child2), GetRenderSurface(back_facing_surface));
EXPECT_EQ(2u, update_layer_list_impl()->size());
EXPECT_TRUE(UpdateLayerListImplContains(front_facing_surface->id()));
@@ -4333,7 +4390,7 @@ TEST_F(LayerTreeHostCommonTest, TransparentChildRenderSurfaceCreation) {
grand_child->SetBounds(gfx::Size(10, 10));
grand_child->SetDrawsContent(true);
ExecuteCalculateDrawProperties(root);
- EXPECT_FALSE(GetRenderSurface(child));
+ EXPECT_EQ(GetRenderSurface(child), GetRenderSurface(root));
}
TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) {
@@ -5426,9 +5483,9 @@ TEST_F(LayerTreeHostCommonTest,
// Verify which render surfaces were created.
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_FALSE(GetRenderSurface(child1));
- EXPECT_TRUE(GetRenderSurface(child2));
- EXPECT_FALSE(GetRenderSurface(child3));
+ EXPECT_EQ(GetRenderSurface(child1), GetRenderSurface(root));
+ EXPECT_NE(GetRenderSurface(child2), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(child3), GetRenderSurface(child2));
}
TEST_F(LayerTreeHostCommonTest, DoNotIncludeBackfaceInvisibleSurfaces) {
@@ -8302,10 +8359,10 @@ TEST_F(LayerTreeHostCommonTest, AnimatedOpacityCreatesRenderSurface) {
10.0, 1.f, 0.2f, false);
ExecuteCalculateDrawProperties(root);
- EXPECT_EQ(1.f, child->Opacity());
+ EXPECT_EQ(1.f, OpacityForLayer(child));
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_TRUE(GetRenderSurface(child));
- EXPECT_FALSE(GetRenderSurface(grandchild));
+ EXPECT_NE(GetRenderSurface(child), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(grandchild), GetRenderSurface(child));
}
// Verify that having an animated filter (but no current filter, as these
@@ -8325,8 +8382,8 @@ TEST_F(LayerTreeHostCommonTest, AnimatedFilterCreatesRenderSurface) {
ExecuteCalculateDrawProperties(root);
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_TRUE(GetRenderSurface(child));
- EXPECT_FALSE(GetRenderSurface(grandchild));
+ EXPECT_NE(GetRenderSurface(child), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(grandchild), GetRenderSurface(child));
EXPECT_TRUE(GetRenderSurface(root)->Filters().IsEmpty());
EXPECT_TRUE(GetRenderSurface(child)->Filters().IsEmpty());
@@ -8369,8 +8426,8 @@ TEST_F(LayerTreeHostCommonTest, DelayedFilterAnimationCreatesRenderSurface) {
ExecuteCalculateDrawProperties(root);
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_TRUE(GetRenderSurface(child));
- EXPECT_FALSE(GetRenderSurface(grandchild));
+ EXPECT_NE(GetRenderSurface(child), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(grandchild), GetRenderSurface(child));
EXPECT_TRUE(GetRenderSurface(root)->Filters().IsEmpty());
EXPECT_TRUE(GetRenderSurface(child)->Filters().IsEmpty());
@@ -9081,10 +9138,10 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceClipsSubtree) {
EXPECT_EQ(transform_node->owning_layer_id, significant_transform->id());
EXPECT_TRUE(GetRenderSurface(root));
- EXPECT_FALSE(GetRenderSurface(significant_transform));
+ EXPECT_EQ(GetRenderSurface(significant_transform), GetRenderSurface(root));
EXPECT_TRUE(GetRenderSurface(layer_clips_subtree));
- EXPECT_TRUE(GetRenderSurface(render_surface));
- EXPECT_FALSE(GetRenderSurface(test_layer));
+ EXPECT_NE(GetRenderSurface(render_surface), GetRenderSurface(root));
+ EXPECT_EQ(GetRenderSurface(test_layer), GetRenderSurface(render_surface));
EXPECT_EQ(gfx::Rect(30, 20), test_layer->visible_layer_rect());
}
« no previous file with comments | « cc/trees/effect_node.cc ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698