Index: cc/trees/layer_tree_host_unittest.cc |
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc |
index 5c9c2dac823a360b28e841f372a8465e3c394f74..3a5018e332c3d5bf0853ad02fc61a3e6db203c90 100644 |
--- a/cc/trees/layer_tree_host_unittest.cc |
+++ b/cc/trees/layer_tree_host_unittest.cc |
@@ -142,21 +142,23 @@ public: |
virtual void DrawLayersOnThread(LayerTreeHostImpl* impl) OVERRIDE |
{ |
- if (impl->active_tree()->source_frame_number() == 0) |
- PostSetNeedsCommitToMainThread(); |
- else if (impl->active_tree()->source_frame_number() == 1) |
- EndTest(); |
+ ++m_numDraws; |
} |
- virtual void CommitCompleteOnThread(LayerTreeHostImpl*) OVERRIDE |
+ virtual void CommitCompleteOnThread(LayerTreeHostImpl* impl) OVERRIDE |
{ |
m_numCommits++; |
+ |
+ if (impl->active_tree()->source_frame_number() == 0) |
+ PostSetNeedsCommitToMainThread(); |
+ else if (impl->active_tree()->source_frame_number() == 1) |
+ EndTest(); |
} |
virtual void AfterTest() OVERRIDE |
{ |
EXPECT_EQ(2, m_numCommits); |
- EXPECT_GE(2, m_numDraws); |
+ EXPECT_EQ(1, m_numDraws); |
} |
private: |
@@ -840,7 +842,7 @@ public: |
// Compute all the layer transforms for the frame. |
LayerTreeHostImpl::FrameData frameData; |
- impl->PrepareToDraw(&frameData); |
+ impl->PrepareToDraw(&frameData, gfx::Rect()); |
impl->DidDrawAllLayers(frameData); |
const LayerTreeHostImpl::LayerList& renderSurfaceLayerList = |
@@ -1288,11 +1290,11 @@ SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestCompositeAndReadbackCleanup) |
class LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit : public LayerTreeHostTest { |
public: |
LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit() |
- : m_rootLayer(ContentLayerWithUpdateTracking::Create(&m_fakeDelegate)) |
- , m_surfaceLayer1(ContentLayerWithUpdateTracking::Create(&m_fakeDelegate)) |
- , m_replicaLayer1(ContentLayerWithUpdateTracking::Create(&m_fakeDelegate)) |
- , m_surfaceLayer2(ContentLayerWithUpdateTracking::Create(&m_fakeDelegate)) |
- , m_replicaLayer2(ContentLayerWithUpdateTracking::Create(&m_fakeDelegate)) |
+ : m_rootLayer(FakeContentLayer::Create(&m_client)) |
+ , m_surfaceLayer1(FakeContentLayer::Create(&m_client)) |
+ , m_replicaLayer1(FakeContentLayer::Create(&m_client)) |
+ , m_surfaceLayer2(FakeContentLayer::Create(&m_client)) |
+ , m_replicaLayer2(FakeContentLayer::Create(&m_client)) |
{ |
} |
@@ -1306,12 +1308,15 @@ public: |
layer_tree_host()->SetViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); |
m_rootLayer->SetBounds(gfx::Size(100, 100)); |
+ m_rootLayer->SetIsDrawable(true); |
m_surfaceLayer1->SetBounds(gfx::Size(100, 100)); |
m_surfaceLayer1->SetForceRenderSurface(true); |
m_surfaceLayer1->SetOpacity(0.5); |
+ m_surfaceLayer1->SetIsDrawable(true); |
m_surfaceLayer2->SetBounds(gfx::Size(100, 100)); |
m_surfaceLayer2->SetForceRenderSurface(true); |
m_surfaceLayer2->SetOpacity(0.5); |
+ m_surfaceLayer2->SetIsDrawable(true); |
m_surfaceLayer1->SetReplicaLayer(m_replicaLayer1.get()); |
m_surfaceLayer2->SetReplicaLayer(m_replicaLayer2.get()); |
@@ -1329,7 +1334,8 @@ public: |
RenderPass::Id surface1RenderPassId = hostImpl->active_tree()->root_layer()->children()[0]->render_surface()->RenderPassId(); |
RenderPass::Id surface2RenderPassId = hostImpl->active_tree()->root_layer()->children()[0]->children()[0]->render_surface()->RenderPassId(); |
- switch (hostImpl->active_tree()->source_frame_number()) { |
+ int source_frame = hostImpl->active_tree()->source_frame_number(); |
+ switch (source_frame) { |
case 0: |
EXPECT_TRUE(renderer->HaveCachedResourcesForRenderPassId(surface1RenderPassId)); |
EXPECT_TRUE(renderer->HaveCachedResourcesForRenderPassId(surface2RenderPassId)); |
@@ -1347,27 +1353,25 @@ public: |
} |
} |
+ virtual void DidCommitAndDrawFrame() OVERRIDE { |
+ if (!TestEnded()) |
+ m_rootLayer->SetNeedsDisplay(); |
+ } |
+ |
virtual void AfterTest() OVERRIDE |
{ |
- EXPECT_EQ(2, m_rootLayer->paintContentsCount()); |
- EXPECT_EQ(2, m_surfaceLayer1->paintContentsCount()); |
- EXPECT_EQ(2, m_surfaceLayer2->paintContentsCount()); |
- |
- // Clear layer references so LayerTreeHost dies. |
- m_rootLayer = NULL; |
- m_surfaceLayer1 = NULL; |
- m_replicaLayer1 = NULL; |
- m_surfaceLayer2 = NULL; |
- m_replicaLayer2 = NULL; |
+ EXPECT_EQ(3, m_rootLayer->update_count()); |
+ EXPECT_EQ(3, m_surfaceLayer1->update_count()); |
+ EXPECT_EQ(3, m_surfaceLayer2->update_count()); |
} |
private: |
- FakeContentLayerClient m_fakeDelegate; |
- scoped_refptr<ContentLayerWithUpdateTracking> m_rootLayer; |
- scoped_refptr<ContentLayerWithUpdateTracking> m_surfaceLayer1; |
- scoped_refptr<ContentLayerWithUpdateTracking> m_replicaLayer1; |
- scoped_refptr<ContentLayerWithUpdateTracking> m_surfaceLayer2; |
- scoped_refptr<ContentLayerWithUpdateTracking> m_replicaLayer2; |
+ FakeContentLayerClient m_client; |
+ scoped_refptr<FakeContentLayer> m_rootLayer; |
+ scoped_refptr<FakeContentLayer> m_surfaceLayer1; |
+ scoped_refptr<FakeContentLayer> m_replicaLayer1; |
+ scoped_refptr<FakeContentLayer> m_surfaceLayer2; |
+ scoped_refptr<FakeContentLayer> m_replicaLayer2; |
}; |
SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSurfaceNotAllocatedForLayersOutsideMemoryLimit) |
@@ -1515,7 +1519,7 @@ public: |
// the beginFrame/commit pair. |
// Commits 5+6 test the path where an eviction happens during the eviction |
// recovery path. |
- virtual void DidCommitAndDrawFrame() OVERRIDE |
+ virtual void DidCommit() OVERRIDE |
{ |
switch (m_numCommits) { |
case 1: |
@@ -1610,7 +1614,7 @@ public: |
{ |
if (m_numDrawLayers == 2) |
return; |
- PostSetNeedsCommitToMainThread(); |
+ layer_tree_host()->root_layer()->SetNeedsDisplay(); |
} |
virtual void CommitCompleteOnThread(LayerTreeHostImpl*) OVERRIDE |