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

Unified Diff: cc/trees/layer_tree_host_common_unittest.cc

Issue 465853004: Moving RenderSurface creation outside of CalcDrawProps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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
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 b40f66db486ddf63d9191fe933b0d195e9deb456..697234fbf5ffc3177f4bbff5b3f00805ccbfe682 100644
--- a/cc/trees/layer_tree_host_common_unittest.cc
+++ b/cc/trees/layer_tree_host_common_unittest.cc
@@ -324,6 +324,7 @@ TEST_F(LayerTreeHostCommonTest, TransformsAboutScrollOffset) {
gfx::PointF(),
gfx::Size(500, 500),
true,
+ false,
false);
scoped_ptr<LayerImpl> scroll_layer_scoped_ptr(
@@ -335,6 +336,7 @@ TEST_F(LayerTreeHostCommonTest, TransformsAboutScrollOffset) {
gfx::PointF(),
gfx::Size(10, 20),
true,
+ false,
false);
scoped_ptr<LayerImpl> clip_layer_scoped_ptr(
LayerImpl::Create(host_impl.active_tree(), 4));
@@ -359,8 +361,10 @@ TEST_F(LayerTreeHostCommonTest, TransformsAboutScrollOffset) {
gfx::PointF(),
gfx::Size(3, 4),
true,
+ false,
false);
root->AddChild(clip_layer_scoped_ptr.Pass());
+ root->SetHasRenderSurface(true);
ExecuteCalculateDrawProperties(
root.get(), kDeviceScale, kPageScale, scroll_layer->parent());
@@ -384,6 +388,7 @@ TEST_F(LayerTreeHostCommonTest, TransformsAboutScrollOffset) {
gfx::PointF(),
gfx::Size(10, 20),
true,
+ false,
false);
ExecuteCalculateDrawProperties(
root.get(), kDeviceScale, kPageScale, scroll_layer->parent());
@@ -3754,11 +3759,13 @@ TEST_F(LayerTreeHostCommonTest, BackFaceCullingWithPreserves3d) {
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- // Verify which render surfaces were created.
+ // Verify which render surfaces were created and used.
EXPECT_FALSE(front_facing_child->render_surface());
EXPECT_FALSE(back_facing_child->render_surface());
EXPECT_TRUE(front_facing_surface->render_surface());
- EXPECT_FALSE(back_facing_surface->render_surface());
+ EXPECT_NE(back_facing_surface->render_target(), back_facing_surface);
+ // We expect that a render_surface was created but not used.
+ EXPECT_TRUE(back_facing_surface->render_surface());
EXPECT_FALSE(front_facing_child_of_front_facing_surface->render_surface());
EXPECT_FALSE(back_facing_child_of_front_facing_surface->render_surface());
EXPECT_FALSE(front_facing_child_of_back_facing_surface->render_surface());
@@ -4022,10 +4029,13 @@ TEST_F(LayerTreeHostCommonTest,
inputs.can_adjust_raster_scales = true;
LayerTreeHostCommon::CalculateDrawProperties(&inputs);
- // Verify which render surfaces were created.
+ // Verify which render surfaces were created and used.
EXPECT_TRUE(front_facing_surface->render_surface());
- EXPECT_FALSE(
- back_facing_surface->render_surface()); // because it should be culled
+
+ // We expect the render surface to have been created, but remain unused.
+ EXPECT_TRUE(back_facing_surface->render_surface());
+ EXPECT_NE(back_facing_surface->render_target(),
+ back_facing_surface); // because it should be culled
EXPECT_FALSE(child1->render_surface());
EXPECT_FALSE(child2->render_surface());
@@ -5612,6 +5622,7 @@ TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) {
gfx::PointF(),
gfx::Size(100, 100),
true,
+ false,
false);
root->SetDrawsContent(true);
@@ -5622,6 +5633,7 @@ TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) {
gfx::PointF(),
gfx::Size(50, 50),
true,
+ false,
false);
child->SetDrawsContent(true);
child->SetOpacity(0.0f);
@@ -5631,6 +5643,7 @@ TEST_F(LayerTreeHostCommonTest, OpacityAnimatingOnPendingTree) {
child->layer_animation_controller(), 10.0, 0.0f, 1.0f, false);
root->AddChild(child.Pass());
+ root->SetHasRenderSurface(true);
LayerImplList render_surface_layer_list;
LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
@@ -5870,6 +5883,7 @@ TEST_F(LayerTreeHostCommonTest, SubtreeHidden_SingleLayerImpl) {
gfx::PointF(),
gfx::Size(50, 50),
true,
+ false,
false);
root->SetDrawsContent(true);
@@ -5880,6 +5894,7 @@ TEST_F(LayerTreeHostCommonTest, SubtreeHidden_SingleLayerImpl) {
gfx::PointF(),
gfx::Size(40, 40),
true,
+ false,
false);
child->SetDrawsContent(true);
@@ -5891,12 +5906,14 @@ TEST_F(LayerTreeHostCommonTest, SubtreeHidden_SingleLayerImpl) {
gfx::PointF(),
gfx::Size(30, 30),
true,
+ false,
false);
grand_child->SetDrawsContent(true);
grand_child->SetHideLayerAndSubtree(true);
child->AddChild(grand_child.Pass());
root->AddChild(child.Pass());
+ root->SetHasRenderSurface(true);
LayerImplList render_surface_layer_list;
LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs(
@@ -5983,7 +6000,8 @@ TEST_F(LayerTreeHostCommonTest, SubtreeHidden_TwoLayersImpl) {
gfx::PointF(),
gfx::Size(50, 50),
true,
- false);
+ false,
+ true);
root->SetDrawsContent(true);
scoped_ptr<LayerImpl> child = LayerImpl::Create(host_impl.pending_tree(), 2);
@@ -5993,6 +6011,7 @@ TEST_F(LayerTreeHostCommonTest, SubtreeHidden_TwoLayersImpl) {
gfx::PointF(),
gfx::Size(40, 40),
true,
+ false,
false);
child->SetDrawsContent(true);
child->SetHideLayerAndSubtree(true);
@@ -6005,6 +6024,7 @@ TEST_F(LayerTreeHostCommonTest, SubtreeHidden_TwoLayersImpl) {
gfx::PointF(),
gfx::Size(30, 30),
true,
+ false,
false);
grand_child->SetDrawsContent(true);
@@ -6882,7 +6902,8 @@ TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) {
position,
bounds,
true,
- false);
+ false,
+ true);
root->SetDrawsContent(true);
// This layer structure normally forces render surface due to preserves3d
@@ -6893,6 +6914,7 @@ TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) {
position,
bounds,
false,
+ true,
true);
child1->SetDrawsContent(true);
SetLayerPropertiesForTesting(child2.get(),
@@ -6901,6 +6923,7 @@ TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) {
position,
bounds,
true,
+ false,
false);
child2->SetDrawsContent(true);
SetLayerPropertiesForTesting(child3.get(),
@@ -6909,6 +6932,7 @@ TEST_F(LayerTreeHostCommonTest, CanRenderToSeparateSurface) {
position,
bounds,
true,
+ false,
false);
child3->SetDrawsContent(true);
@@ -7557,13 +7581,15 @@ TEST_F(LayerTreeHostCommonTest, DoNotClobberSorting) {
gfx::PointF(),
gfx::Size(50, 50),
true,
- false);
+ false,
+ true);
SetLayerPropertiesForTesting(scroll_parent_border.get(),
identity_transform,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(40, 40),
true,
+ false,
false);
SetLayerPropertiesForTesting(scroll_parent_clip.get(),
identity_transform,
@@ -7571,6 +7597,7 @@ TEST_F(LayerTreeHostCommonTest, DoNotClobberSorting) {
gfx::PointF(),
gfx::Size(30, 30),
true,
+ false,
false);
SetLayerPropertiesForTesting(scroll_parent.get(),
identity_transform,
@@ -7578,6 +7605,7 @@ TEST_F(LayerTreeHostCommonTest, DoNotClobberSorting) {
gfx::PointF(),
gfx::Size(50, 50),
true,
+ false,
false);
SetLayerPropertiesForTesting(scroll_child.get(),
identity_transform,
@@ -7585,6 +7613,7 @@ TEST_F(LayerTreeHostCommonTest, DoNotClobberSorting) {
gfx::PointF(),
gfx::Size(50, 50),
true,
+ false,
false);
SetLayerPropertiesForTesting(top_content.get(),
top_transform,
@@ -7592,6 +7621,7 @@ TEST_F(LayerTreeHostCommonTest, DoNotClobberSorting) {
gfx::PointF(),
gfx::Size(50, 50),
false,
+ true,
true);
SetLayerPropertiesForTesting(bottom_content.get(),
bottom_transform,
@@ -7599,6 +7629,7 @@ TEST_F(LayerTreeHostCommonTest, DoNotClobberSorting) {
gfx::PointF(),
gfx::Size(50, 50),
false,
+ true,
true);
scroll_child->SetShouldFlattenTransform(false);
@@ -7675,13 +7706,15 @@ TEST_F(LayerTreeHostCommonTest, ScrollCompensationWithRounding) {
gfx::PointF(),
gfx::Size(50, 50),
true,
- false);
+ false,
+ true);
SetLayerPropertiesForTesting(container.get(),
container_transform,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(40, 40),
true,
+ false,
false);
SetLayerPropertiesForTesting(scroller.get(),
identity_transform,
@@ -7689,6 +7722,7 @@ TEST_F(LayerTreeHostCommonTest, ScrollCompensationWithRounding) {
gfx::PointF(),
gfx::Size(30, 30),
true,
+ false,
false);
SetLayerPropertiesForTesting(fixed.get(),
identity_transform,
@@ -7696,6 +7730,7 @@ TEST_F(LayerTreeHostCommonTest, ScrollCompensationWithRounding) {
gfx::PointF(),
gfx::Size(50, 50),
true,
+ false,
false);
scroller->AddChild(fixed.Pass());
@@ -7839,13 +7874,15 @@ TEST_F(LayerTreeHostCommonTest, MaximumAnimationScaleFactor) {
gfx::PointF(),
gfx::Size(1, 2),
true,
- false);
+ false,
+ true);
SetLayerPropertiesForTesting(parent_raw,
identity_matrix,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
SetLayerPropertiesForTesting(child_raw,
identity_matrix,
@@ -7853,13 +7890,16 @@ TEST_F(LayerTreeHostCommonTest, MaximumAnimationScaleFactor) {
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
+
SetLayerPropertiesForTesting(grand_child_raw,
identity_matrix,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
ExecuteCalculateDrawProperties(grand_parent.get());
@@ -8075,34 +8115,42 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceLayerListMembership) {
gfx::PointF(),
gfx::Size(1, 2),
true,
- false);
+ false,
+ true);
SetLayerPropertiesForTesting(parent_raw,
identity_matrix,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
+
SetLayerPropertiesForTesting(child_raw,
identity_matrix,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
+
SetLayerPropertiesForTesting(grand_child1_raw,
identity_matrix,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
+
SetLayerPropertiesForTesting(grand_child2_raw,
identity_matrix,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(1, 2),
true,
+ false,
false);
// Start with nothing being drawn.
@@ -8122,7 +8170,7 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceLayerListMembership) {
// If we force render surface, but none of the layers are in the layer list,
// then this layer should not appear in RSLL.
- grand_child1_raw->SetForceRenderSurface(true);
+ grand_child1_raw->SetHasRenderSurface(true);
ExecuteCalculateDrawProperties(grand_parent_raw);
member_id = render_surface_layer_list_count();
@@ -8161,8 +8209,8 @@ TEST_F(LayerTreeHostCommonTest, RenderSurfaceLayerListMembership) {
// Now child is forced to have a render surface, and one if its children draws
// content.
grand_child1_raw->SetDrawsContent(false);
- grand_child1_raw->SetForceRenderSurface(false);
- child_raw->SetForceRenderSurface(true);
+ grand_child1_raw->SetHasRenderSurface(false);
+ child_raw->SetHasRenderSurface(true);
grand_child2_raw->SetDrawsContent(true);
ExecuteCalculateDrawProperties(grand_parent_raw);
@@ -8329,13 +8377,15 @@ TEST_F(LayerTreeHostCommonTest, DrawPropertyScales) {
gfx::PointF(),
gfx::Size(1, 1),
true,
- false);
+ false,
+ true);
SetLayerPropertiesForTesting(child1_layer,
scale_transform_child1,
gfx::Point3F(),
gfx::PointF(),
gfx::Size(),
true,
+ false,
false);
child1_layer->SetMaskLayer(
@@ -8358,6 +8408,7 @@ TEST_F(LayerTreeHostCommonTest, DrawPropertyScales) {
gfx::PointF(),
gfx::Size(),
true,
+ false,
false);
ExecuteCalculateDrawProperties(root_layer);

Powered by Google App Engine
This is Rietveld 408576698