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++; |
} |