Chromium Code Reviews| Index: cc/CCLayerTreeHostImplTest.cpp |
| diff --git a/cc/CCLayerTreeHostImplTest.cpp b/cc/CCLayerTreeHostImplTest.cpp |
| index 8529a0738defc1316f676c9c3c9120298020d74a..8607f87a5b9aaa7de18ad3b86db088205bdba3b8 100644 |
| --- a/cc/CCLayerTreeHostImplTest.cpp |
| +++ b/cc/CCLayerTreeHostImplTest.cpp |
| @@ -2483,18 +2483,18 @@ protected: |
| } |
| }; |
| -static inline PassOwnPtr<CCRenderPass> createRenderPassWithResource(CCResourceProvider* provider) |
| +static inline scoped_ptr<CCRenderPass> createRenderPassWithResource(CCResourceProvider* provider) |
| { |
| CCResourceProvider::ResourceId resourceId = provider->createResource(0, IntSize(1, 1), GraphicsContext3D::RGBA, CCResourceProvider::TextureUsageAny); |
| - OwnPtr<CCRenderPass> pass = CCRenderPass::create(CCRenderPass::Id(1, 1), IntRect(0, 0, 1, 1), WebTransformationMatrix()); |
| + scoped_ptr<CCRenderPass> pass = CCRenderPass::create(CCRenderPass::Id(1, 1), IntRect(0, 0, 1, 1), WebTransformationMatrix()); |
| OwnPtr<CCSharedQuadState> sharedState = CCSharedQuadState::create(WebTransformationMatrix(), IntRect(0, 0, 1, 1), IntRect(0, 0, 1, 1), 1, false); |
| OwnPtr<CCTextureDrawQuad> quad = CCTextureDrawQuad::create(sharedState.get(), IntRect(0, 0, 1, 1), resourceId, false, FloatRect(0, 0, 1, 1), false); |
| static_cast<CCTestRenderPass*>(pass.get())->appendSharedQuadState(sharedState.release()); |
| static_cast<CCTestRenderPass*>(pass.get())->appendQuad(quad.release()); |
| - return pass.release(); |
| + return pass.Pass(); |
| } |
| TEST_F(CCLayerTreeHostImplTest, dontUseOldResourcesAfterLostContext) |
| @@ -2595,7 +2595,7 @@ TEST_F(CCLayerTreeHostImplTest, dontUseOldResourcesAfterLostContext) |
| delegatedRendererLayer->setContentBounds(IntSize(10, 10)); |
| delegatedRendererLayer->setDrawsContent(true); |
| delegatedRendererLayer->setLayerTreeHostImpl(m_hostImpl.get()); |
| - OwnPtrVector<CCRenderPass> passList; |
| + ScopedPtrVector<CCRenderPass> passList; |
| passList.append(createRenderPassWithResource(m_hostImpl->resourceProvider())); |
| delegatedRendererLayer->setRenderPasses(passList); |
| EXPECT_TRUE(passList.isEmpty()); |
| @@ -3876,36 +3876,8 @@ TEST_F(CCLayerTreeHostImplTest, releaseContentsTextureShouldTriggerCommit) |
| EXPECT_TRUE(m_didRequestCommit); |
| } |
| -struct RenderPassCacheEntry { |
| - mutable OwnPtr<CCRenderPass> renderPassPtr; |
| - CCRenderPass* renderPass; |
| - |
| - RenderPassCacheEntry(PassOwnPtr<CCRenderPass> r) |
| - : renderPassPtr(r), |
| - renderPass(renderPassPtr.get()) |
| - { |
| - } |
| - |
| - RenderPassCacheEntry() |
| - { |
| - } |
| - |
| - RenderPassCacheEntry(const RenderPassCacheEntry& entry) |
| - : renderPassPtr(entry.renderPassPtr.release()), |
| - renderPass(entry.renderPass) |
| - { |
| - } |
| - |
| - RenderPassCacheEntry& operator=(const RenderPassCacheEntry& entry) |
| - { |
| - renderPassPtr = entry.renderPassPtr.release(); |
| - renderPass = entry.renderPass; |
| - return *this; |
| - } |
| -}; |
| - |
| struct RenderPassRemovalTestData : public CCLayerTreeHostImpl::FrameData { |
| - std::map<CCRenderPass::Id, RenderPassCacheEntry> renderPassCache; |
| + ScopedPtrHashMap<CCRenderPass::Id, CCRenderPass> renderPassCache; |
| OwnPtr<CCSharedQuadState> sharedQuadState; |
| }; |
| @@ -3921,9 +3893,9 @@ public: |
| } |
| void clearCachedTextures() { m_textures.clear(); } |
| - void setHaveCachedResourcesForRenderPassId(CCRenderPass::Id id) { m_textures.add(id); } |
| + void setHaveCachedResourcesForRenderPassId(CCRenderPass::Id id) { m_textures.insert(id); } |
| - virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const OVERRIDE { return m_textures.contains(id); } |
| + virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const OVERRIDE { return m_textures.count(id); } |
| // CCRendererClient implementation. |
| virtual const IntSize& deviceViewportSize() const OVERRIDE { return m_viewportSize; } |
| @@ -3940,7 +3912,7 @@ protected: |
| private: |
| CCLayerTreeSettings m_settings; |
| IntSize m_viewportSize; |
| - HashSet<CCRenderPass::Id> m_textures; |
| + base::hash_set<CCRenderPass::Id> m_textures; |
| }; |
| static void configureRenderPassTestData(const char* testScript, RenderPassRemovalTestData& testData, CCTestRenderer* renderer) |
| @@ -3954,8 +3926,7 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova |
| // Pre-create root pass |
| CCRenderPass::Id rootRenderPassId = CCRenderPass::Id(testScript[0], testScript[1]); |
| - OwnPtr<CCRenderPass> rootRenderPass = CCRenderPass::create(rootRenderPassId, IntRect(), WebTransformationMatrix()); |
| - testData.renderPassCache.insert(std::pair<CCRenderPass::Id, RenderPassCacheEntry>(rootRenderPassId, RenderPassCacheEntry(rootRenderPass.release()))); |
| + testData.renderPassCache.add(rootRenderPassId, CCRenderPass::create(rootRenderPassId, IntRect(), WebTransformationMatrix())); |
| while (*currentChar) { |
| int layerId = *currentChar; |
| currentChar++; |
| @@ -3965,13 +3936,11 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova |
| CCRenderPass::Id renderPassId = CCRenderPass::Id(layerId, index); |
| - OwnPtr<CCRenderPass> renderPass; |
| - |
| bool isReplica = false; |
| - if (!testData.renderPassCache[renderPassId].renderPassPtr.get()) |
| + if (!testData.renderPassCache.get(renderPassId)) |
|
jamesr
2012/09/25 03:53:50
.contains(renderPassId) ?
danakj
2012/09/25 16:13:51
oh absolutely.
|
| isReplica = true; |
| - renderPass = testData.renderPassCache[renderPassId].renderPassPtr.release(); |
| + scoped_ptr<CCRenderPass> renderPass = testData.renderPassCache.take(renderPassId); |
|
jamesr
2012/09/25 03:53:50
the old code would leave a null entry in place in
danakj
2012/09/25 16:13:51
i think it doesn't really matter which one we do,
|
| // Cycle through quad data and create all quads |
| while (*currentChar && *currentChar != '\n') { |
| @@ -4014,8 +3983,7 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova |
| if (hasTexture) |
| renderer->setHaveCachedResourcesForRenderPassId(newRenderPassId); |
| - OwnPtr<CCRenderPass> renderPass = CCTestRenderPass::create(newRenderPassId, IntRect(), WebTransformationMatrix()); |
| - testData.renderPassCache.insert(std::pair<CCRenderPass::Id, RenderPassCacheEntry>(newRenderPassId, RenderPassCacheEntry(renderPass.release()))); |
| + testData.renderPassCache.add(newRenderPassId, CCTestRenderPass::create(newRenderPassId, IntRect(), WebTransformationMatrix())); |
| } |
| IntRect quadRect = IntRect(0, 0, 1, 1); |
| @@ -4025,7 +3993,7 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova |
| } |
| } |
| testData.renderPasses.insert(0, renderPass.get()); |
| - testData.renderPassesById.add(renderPassId, renderPass.release()); |
| + testData.renderPassesById.add(renderPassId, renderPass.Pass()); |
| if (*currentChar) |
| currentChar++; |
| } |