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 9e63fad82d87448da4d85c965d6da37f423cab13..92087fe361ddf662e5bc02633670f28f1c9c8c2e 100644 |
--- a/cc/trees/layer_tree_host_impl_unittest.cc |
+++ b/cc/trees/layer_tree_host_impl_unittest.cc |
@@ -1927,6 +1927,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; |
@@ -1937,10 +1943,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) { |
@@ -1949,6 +1955,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; |
@@ -1959,10 +1971,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, |
@@ -1971,6 +1983,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; |
@@ -1981,11 +2000,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, |
@@ -1994,6 +2013,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; |
@@ -2004,10 +2030,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) { |
@@ -2015,6 +2041,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; |
@@ -2026,10 +2059,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, |
@@ -2038,6 +2071,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; |
@@ -2049,11 +2089,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, |
@@ -2062,6 +2102,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; |
@@ -2073,11 +2120,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) { |
@@ -5895,7 +5942,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); |
@@ -5903,8 +5954,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); |
@@ -5915,7 +5965,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); |
@@ -5923,8 +5977,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); |