Index: cc/trees/layer_tree_host_impl_unittest.cc |
diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc |
index df15258ba1241fc6732fe0975617605dbd67b58c..058f0d3e917cccc32b25fa6ab89419c6220eafc4 100644 |
--- a/cc/trees/layer_tree_host_impl_unittest.cc |
+++ b/cc/trees/layer_tree_host_impl_unittest.cc |
@@ -1921,6 +1921,12 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithMissingTiles) { |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = true; |
bool had_incomplete_tile = false; |
bool is_animating = false; |
@@ -1931,10 +1937,10 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithMissingTiles) { |
had_incomplete_tile, |
is_animating, |
host_impl_->resource_provider())); |
- LayerTreeHostImpl::FrameData frame; |
- EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ LayerTreeHostImpl::FrameData frame2; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithIncompleteTile) { |
@@ -1943,6 +1949,12 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithIncompleteTile) { |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = false; |
bool had_incomplete_tile = true; |
bool is_animating = false; |
@@ -1953,10 +1965,10 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWithIncompleteTile) { |
had_incomplete_tile, |
is_animating, |
host_impl_->resource_provider())); |
- LayerTreeHostImpl::FrameData frame; |
- EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ LayerTreeHostImpl::FrameData frame2; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, |
@@ -1965,6 +1977,13 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 5)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = true; |
bool had_incomplete_tile = false; |
bool is_animating = true; |
@@ -1975,11 +1994,11 @@ TEST_F(LayerTreeHostImplTest, |
had_incomplete_tile, |
is_animating, |
host_impl_->resource_provider())); |
- LayerTreeHostImpl::FrameData frame; |
+ LayerTreeHostImpl::FrameData frame2; |
EXPECT_EQ(DRAW_ABORTED_CHECKERBOARD_ANIMATIONS, |
- host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, |
@@ -1988,6 +2007,13 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 5)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = false; |
bool had_incomplete_tile = true; |
bool is_animating = true; |
@@ -1998,10 +2024,10 @@ TEST_F(LayerTreeHostImplTest, |
had_incomplete_tile, |
is_animating, |
host_impl_->resource_provider())); |
- LayerTreeHostImpl::FrameData frame; |
- EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ LayerTreeHostImpl::FrameData frame2; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWhenHighResRequired) { |
@@ -2009,6 +2035,13 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWhenHighResRequired) { |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 7)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = false; |
bool had_incomplete_tile = false; |
bool is_animating = false; |
@@ -2020,10 +2053,10 @@ TEST_F(LayerTreeHostImplTest, PrepareToDrawSucceedsWhenHighResRequired) { |
is_animating, |
host_impl_->resource_provider())); |
host_impl_->active_tree()->SetRequiresHighResToDraw(); |
- LayerTreeHostImpl::FrameData frame; |
- EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ LayerTreeHostImpl::FrameData frame2; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, |
@@ -2032,6 +2065,13 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 7)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = false; |
bool had_incomplete_tile = true; |
bool is_animating = false; |
@@ -2043,11 +2083,11 @@ TEST_F(LayerTreeHostImplTest, |
is_animating, |
host_impl_->resource_provider())); |
host_impl_->active_tree()->SetRequiresHighResToDraw(); |
- LayerTreeHostImpl::FrameData frame; |
+ LayerTreeHostImpl::FrameData frame2; |
EXPECT_EQ(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT, |
- host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, |
@@ -2056,6 +2096,13 @@ TEST_F(LayerTreeHostImplTest, |
DidDrawCheckLayer::Create(host_impl_->active_tree(), 7)); |
DidDrawCheckLayer* root = |
static_cast<DidDrawCheckLayer*>(host_impl_->active_tree()->root_layer()); |
+ |
+ LayerTreeHostImpl::FrameData frame; |
+ EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
+ host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->SwapBuffers(frame); |
+ |
bool tile_missing = true; |
bool had_incomplete_tile = false; |
bool is_animating = false; |
@@ -2067,11 +2114,11 @@ TEST_F(LayerTreeHostImplTest, |
is_animating, |
host_impl_->resource_provider())); |
host_impl_->active_tree()->SetRequiresHighResToDraw(); |
- LayerTreeHostImpl::FrameData frame; |
+ LayerTreeHostImpl::FrameData frame2; |
EXPECT_EQ(DRAW_ABORTED_MISSING_HIGH_RES_CONTENT, |
- host_impl_->PrepareToDraw(&frame)); |
- host_impl_->DrawLayers(&frame, gfx::FrameTime::Now()); |
- host_impl_->DidDrawAllLayers(frame); |
+ host_impl_->PrepareToDraw(&frame2)); |
+ host_impl_->DrawLayers(&frame2, gfx::FrameTime::Now()); |
+ host_impl_->DidDrawAllLayers(frame2); |
} |
TEST_F(LayerTreeHostImplTest, ScrollRootIgnored) { |
@@ -5884,7 +5931,11 @@ TEST_F(LayerTreeHostImplTest, MemoryPolicy) { |
TEST_F(LayerTreeHostImplTest, RequireHighResWhenVisible) { |
ASSERT_TRUE(host_impl_->active_tree()); |
- EXPECT_FALSE(host_impl_->active_tree()->RequiresHighResToDraw()); |
+ // RequiresHighResToDraw is set when new output surface is used. |
+ EXPECT_TRUE(host_impl_->active_tree()->RequiresHighResToDraw()); |
+ |
+ host_impl_->active_tree()->ResetRequiresHighResToDraw(); |
+ |
host_impl_->SetVisible(false); |
EXPECT_FALSE(host_impl_->active_tree()->RequiresHighResToDraw()); |
host_impl_->SetVisible(true); |
@@ -5892,8 +5943,7 @@ TEST_F(LayerTreeHostImplTest, RequireHighResWhenVisible) { |
host_impl_->SetVisible(false); |
EXPECT_TRUE(host_impl_->active_tree()->RequiresHighResToDraw()); |
- host_impl_->CreatePendingTree(); |
- host_impl_->ActivateSyncTree(); |
+ host_impl_->active_tree()->ResetRequiresHighResToDraw(); |
EXPECT_FALSE(host_impl_->active_tree()->RequiresHighResToDraw()); |
host_impl_->SetVisible(true); |
@@ -5904,7 +5954,11 @@ TEST_F(LayerTreeHostImplTest, RequireHighResAfterGpuRasterizationToggles) { |
ASSERT_TRUE(host_impl_->active_tree()); |
EXPECT_FALSE(host_impl_->use_gpu_rasterization()); |
- EXPECT_FALSE(host_impl_->active_tree()->RequiresHighResToDraw()); |
+ // RequiresHighResToDraw is set when new output surface is used. |
+ EXPECT_TRUE(host_impl_->active_tree()->RequiresHighResToDraw()); |
+ |
+ host_impl_->active_tree()->ResetRequiresHighResToDraw(); |
+ |
host_impl_->SetUseGpuRasterization(false); |
EXPECT_FALSE(host_impl_->active_tree()->RequiresHighResToDraw()); |
host_impl_->SetUseGpuRasterization(true); |
@@ -5912,8 +5966,7 @@ TEST_F(LayerTreeHostImplTest, RequireHighResAfterGpuRasterizationToggles) { |
host_impl_->SetUseGpuRasterization(false); |
EXPECT_TRUE(host_impl_->active_tree()->RequiresHighResToDraw()); |
- host_impl_->CreatePendingTree(); |
- host_impl_->ActivateSyncTree(); |
+ host_impl_->active_tree()->ResetRequiresHighResToDraw(); |
EXPECT_FALSE(host_impl_->active_tree()->RequiresHighResToDraw()); |
host_impl_->SetUseGpuRasterization(true); |