| Index: cc/layer_tree_host_unittest_delegated.cc
|
| diff --git a/cc/layer_tree_host_unittest_delegated.cc b/cc/layer_tree_host_unittest_delegated.cc
|
| index 098a941af5b858bd42be2881f72482e4c25858e3..b5510cb8d238f09c22140d9a106e8e0d0b9adeb2 100644
|
| --- a/cc/layer_tree_host_unittest_delegated.cc
|
| +++ b/cc/layer_tree_host_unittest_delegated.cc
|
| @@ -364,11 +364,6 @@ class LayerTreeHostDelegatedTestMergeResources
|
| EXPECT_EQ(1u, map.count(999));
|
| EXPECT_EQ(1u, map.count(555));
|
|
|
| - // Both frames' resources should be saved on the layer.
|
| - EXPECT_EQ(2u, delegated_impl->Resources().size());
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(999)->second));
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(555)->second));
|
| -
|
| endTest();
|
| }
|
|
|
| @@ -637,9 +632,6 @@ class LayerTreeHostDelegatedTestFrameBeforeAck
|
| EXPECT_EQ(1u, map.size());
|
| EXPECT_EQ(1u, map.count(999));
|
|
|
| - EXPECT_EQ(1u, delegated_impl->Resources().size());
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(999)->second));
|
| -
|
| const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0];
|
| EXPECT_EQ(1u, pass->quad_list.size());
|
| const TextureDrawQuad* quad = TextureDrawQuad::MaterialCast(
|
| @@ -743,9 +735,6 @@ class LayerTreeHostDelegatedTestFrameBeforeTakeResources
|
| EXPECT_EQ(1u, map.size());
|
| EXPECT_EQ(1u, map.count(999));
|
|
|
| - EXPECT_EQ(1u, delegated_impl->Resources().size());
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(999)->second));
|
| -
|
| const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0];
|
| EXPECT_EQ(1u, pass->quad_list.size());
|
| const TextureDrawQuad* quad = TextureDrawQuad::MaterialCast(
|
| @@ -849,10 +838,6 @@ class LayerTreeHostDelegatedTestBadFrame
|
| EXPECT_EQ(1u, map.count(999));
|
| EXPECT_EQ(1u, map.count(555));
|
|
|
| - EXPECT_EQ(2u, delegated_impl->Resources().size());
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(999)->second));
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(555)->second));
|
| -
|
| const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0];
|
| EXPECT_EQ(2u, pass->quad_list.size());
|
| const TextureDrawQuad* quad1 = TextureDrawQuad::MaterialCast(
|
| @@ -871,11 +856,6 @@ class LayerTreeHostDelegatedTestBadFrame
|
| EXPECT_EQ(1u, map.count(555));
|
| EXPECT_EQ(1u, map.count(444));
|
|
|
| - EXPECT_EQ(3u, delegated_impl->Resources().size());
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(999)->second));
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(555)->second));
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(444)->second));
|
| -
|
| // The bad frame is dropped though, we still have the frame with 999 and
|
| // 555 in it.
|
| const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0];
|
| @@ -893,9 +873,6 @@ class LayerTreeHostDelegatedTestBadFrame
|
| EXPECT_EQ(1u, map.size());
|
| EXPECT_EQ(1u, map.count(999));
|
|
|
| - EXPECT_EQ(1u, delegated_impl->Resources().size());
|
| - EXPECT_EQ(1u, delegated_impl->Resources().count(map.find(999)->second));
|
| -
|
| const RenderPass* pass = delegated_impl->RenderPassesInDrawOrder()[0];
|
| EXPECT_EQ(1u, pass->quad_list.size());
|
| const TextureDrawQuad* quad1 = TextureDrawQuad::MaterialCast(
|
| @@ -911,5 +888,59 @@ class LayerTreeHostDelegatedTestBadFrame
|
|
|
| SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestBadFrame)
|
|
|
| +class LayerTreeHostDelegatedTestUnnamedResource
|
| + : public LayerTreeHostDelegatedTestCaseSingleDelegatedLayer {
|
| + public:
|
| + virtual void beginTest() OVERRIDE {
|
| + postSetNeedsCommitToMainThread();
|
| + }
|
| +
|
| + virtual void didCommit() OVERRIDE {
|
| + scoped_ptr<DelegatedFrameData> frame;
|
| + TransferableResourceArray resources;
|
| +
|
| + int next_source_frame_number = m_layerTreeHost->commitNumber();
|
| + switch (next_source_frame_number) {
|
| + case 1:
|
| + // This frame includes two resources in it, but only uses one.
|
| + frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1));
|
| + AddTransferableResource(frame.get(), 999);
|
| + AddTextureQuad(frame.get(), 555);
|
| + AddTransferableResource(frame.get(), 555);
|
| + delegated_->SetFrameData(frame.Pass());
|
| + break;
|
| + case 2:
|
| + // The unused resource should be returned.
|
| + delegated_->TakeUnusedResourcesForChildCompositor(&resources);
|
| + EXPECT_EQ(1u, resources.size());
|
| + EXPECT_EQ(999, resources[0].id);
|
| +
|
| + endTest();
|
| + break;
|
| + }
|
| + }
|
| +
|
| + virtual void treeActivatedOnThread(LayerTreeHostImpl* host_impl) OVERRIDE {
|
| + if (host_impl->activeTree()->source_frame_number() != 1)
|
| + return;
|
| +
|
| + LayerImpl* root_impl = host_impl->activeTree()->RootLayer();
|
| + FakeDelegatedRendererLayerImpl* delegated_impl =
|
| + static_cast<FakeDelegatedRendererLayerImpl*>(root_impl->children()[0]);
|
| +
|
| + const ResourceProvider::ResourceIdMap& map =
|
| + host_impl->resourceProvider()->getChildToParentMap(
|
| + delegated_impl->ChildId());
|
| +
|
| + // The layer only held on to the resource that was used.
|
| + EXPECT_EQ(1u, map.size());
|
| + EXPECT_EQ(1u, map.count(555));
|
| + }
|
| +
|
| + virtual void afterTest() OVERRIDE {}
|
| +};
|
| +
|
| +SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostDelegatedTestUnnamedResource)
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|