Index: cc/CCDirectRenderer.cpp |
diff --git a/cc/CCDirectRenderer.cpp b/cc/CCDirectRenderer.cpp |
index 1e9df5d8ae3c602969552c45d3adb899975ad2c6..8bf3c4b014eba97e814a8f71235c2e43e479aad1 100644 |
--- a/cc/CCDirectRenderer.cpp |
+++ b/cc/CCDirectRenderer.cpp |
@@ -8,6 +8,7 @@ |
#include "CCMathUtil.h" |
#include <public/WebTransformationMatrix.h> |
+#include <vector> |
using WebKit::WebTransformationMatrix; |
@@ -114,34 +115,23 @@ CCDirectRenderer::~CCDirectRenderer() |
void CCDirectRenderer::decideRenderPassAllocationsForFrame(const CCRenderPassList& renderPassesInDrawOrder) |
{ |
- HashMap<CCRenderPass::Id, const CCRenderPass*> renderPassesInFrame; |
+ base::hash_map<CCRenderPass::Id, const CCRenderPass*> renderPassesInFrame; |
for (size_t i = 0; i < renderPassesInDrawOrder.size(); ++i) |
- renderPassesInFrame.set(renderPassesInDrawOrder[i]->id(), renderPassesInDrawOrder[i]); |
+ renderPassesInFrame.insert(std::pair<CCRenderPass::Id, const CCRenderPass*>(renderPassesInDrawOrder[i]->id(), renderPassesInDrawOrder[i])); |
- Vector<CCRenderPass::Id> passesToDelete; |
- HashMap<CCRenderPass::Id, OwnPtr<CachedTexture> >::const_iterator passIterator; |
+ std::vector<CCRenderPass::Id> passesToDelete; |
+ ScopedPtrHashMap<CCRenderPass::Id, CachedTexture>::const_iterator passIterator; |
for (passIterator = m_renderPassTextures.begin(); passIterator != m_renderPassTextures.end(); ++passIterator) { |
-#if WTF_NEW_HASHMAP_ITERATORS_INTERFACE |
- const CCRenderPass* renderPassInFrame = renderPassesInFrame.get(passIterator->key); |
-#else |
- const CCRenderPass* renderPassInFrame = renderPassesInFrame.get(passIterator->first); |
-#endif |
- if (!renderPassInFrame) { |
-#if WTF_NEW_HASHMAP_ITERATORS_INTERFACE |
- passesToDelete.append(passIterator->key); |
-#else |
- passesToDelete.append(passIterator->first); |
-#endif |
+ base::hash_map<CCRenderPass::Id, const CCRenderPass*>::const_iterator it = renderPassesInFrame.find(passIterator->first); |
+ if (it == renderPassesInFrame.end()) { |
+ passesToDelete.push_back(passIterator->first); |
continue; |
} |
+ const CCRenderPass* renderPassInFrame = it->second; |
const IntSize& requiredSize = renderPassTextureSize(renderPassInFrame); |
GC3Denum requiredFormat = renderPassTextureFormat(renderPassInFrame); |
-#if WTF_NEW_HASHMAP_ITERATORS_INTERFACE |
- CachedTexture* texture = passIterator->value.get(); |
-#else |
- CachedTexture* texture = passIterator->second.get(); |
-#endif |
+ CachedTexture* texture = passIterator->second; |
ASSERT(texture); |
if (texture->id() && (texture->size() != requiredSize || texture->format() != requiredFormat)) |
@@ -150,12 +140,12 @@ void CCDirectRenderer::decideRenderPassAllocationsForFrame(const CCRenderPassLis |
// Delete RenderPass textures from the previous frame that will not be used again. |
for (size_t i = 0; i < passesToDelete.size(); ++i) |
- m_renderPassTextures.remove(passesToDelete[i]); |
+ m_renderPassTextures.erase(passesToDelete[i]); |
for (size_t i = 0; i < renderPassesInDrawOrder.size(); ++i) { |
if (!m_renderPassTextures.contains(renderPassesInDrawOrder[i]->id())) { |
- OwnPtr<CachedTexture> texture = CachedTexture::create(m_resourceProvider); |
- m_renderPassTextures.set(renderPassesInDrawOrder[i]->id(), texture.release()); |
+ scoped_ptr<CachedTexture> texture = CachedTexture::create(m_resourceProvider); |
+ m_renderPassTextures.set(renderPassesInDrawOrder[i]->id(), texture.Pass()); |
} |
} |
} |