| Index: Source/WebCore/platform/graphics/chromium/TrackingTextureAllocator.cpp
 | 
| ===================================================================
 | 
| --- Source/WebCore/platform/graphics/chromium/TrackingTextureAllocator.cpp	(revision 122257)
 | 
| +++ Source/WebCore/platform/graphics/chromium/TrackingTextureAllocator.cpp	(working copy)
 | 
| @@ -89,6 +89,7 @@
 | 
|          extensions->texStorage2DEXT(GraphicsContext3D::TEXTURE_2D, 1, storageFormat, size.width(), size.height());
 | 
|      } else
 | 
|          GLC(m_context.get(), m_context->texImage2DResourceSafe(GraphicsContext3D::TEXTURE_2D, 0, format, size.width(), size.height(), 0, format, GraphicsContext3D::UNSIGNED_BYTE));
 | 
| +    m_allocatedTextureIds.add(textureId);
 | 
|      return textureId;
 | 
|  }
 | 
|  
 | 
| @@ -96,7 +97,17 @@
 | 
|  {
 | 
|      m_currentMemoryUseBytes -= TextureManager::memoryUseBytes(size, format);
 | 
|      GLC(m_context.get(), m_context->deleteTexture(textureId));
 | 
| +    ASSERT(m_allocatedTextureIds.contains(textureId));
 | 
| +    m_allocatedTextureIds.remove(textureId);
 | 
|  }
 | 
|  
 | 
| +void TrackingTextureAllocator::deleteAllTextures()
 | 
| +{
 | 
| +    for (HashSet<unsigned>::const_iterator it = m_allocatedTextureIds.begin(); it != m_allocatedTextureIds.end(); ++it)
 | 
| +        GLC(m_context.get(), m_context->deleteTexture(*it));
 | 
| +    m_currentMemoryUseBytes = 0;
 | 
| +    m_allocatedTextureIds.clear();
 | 
|  }
 | 
|  
 | 
| +}
 | 
| +
 | 
| 
 |