From 9651fe9381af8dcc55a6370c3d2a65fcbdab846e Mon Sep 17 00:00:00 2001 From: Nicolas Roard Date: Tue, 11 Oct 2011 18:57:52 -0700 Subject: Refactor the image sharing code We add a separate Images Manager, working both in GL and software rendering. bug:5425148 Change-Id: Ib5bc88ad94d49c7f1eb969a716691ac98dc10b77 --- .../platform/graphics/android/TilesManager.cpp | 46 ---------------------- 1 file changed, 46 deletions(-) (limited to 'Source/WebCore/platform/graphics/android/TilesManager.cpp') diff --git a/Source/WebCore/platform/graphics/android/TilesManager.cpp b/Source/WebCore/platform/graphics/android/TilesManager.cpp index 2d0cc7f..74cc764 100644 --- a/Source/WebCore/platform/graphics/android/TilesManager.cpp +++ b/Source/WebCore/platform/graphics/android/TilesManager.cpp @@ -429,52 +429,6 @@ void TilesManager::unregisterGLWebViewState(GLWebViewState* state) transferQueue()->discardQueue(); } -void TilesManager::addImage(SkBitmapRef* imgRef) -{ - if (!imgRef) - return; - - android::Mutex::Autolock lock(m_imagesLock); - if (!m_images.contains(imgRef)) - m_images.set(imgRef, new ImageTexture(imgRef)); -} - -void TilesManager::removeImage(SkBitmapRef* imgRef) -{ - android::Mutex::Autolock lock(m_imagesLock); - if (!m_images.contains(imgRef)) - return; - - ImageTexture* image = m_images.get(imgRef); - image->release(); - - if (!image->refCount()) { - m_images.remove(imgRef); - delete image; - } -} - -void TilesManager::showImages() -{ - XLOGC("We have %d images", m_images.size()); - HashMap::iterator end = m_images.end(); - int i = 0; - for (HashMap::iterator it = m_images.begin(); it != end; ++it) { - XLOGC("Image %x (%d/%d) has %d references", it->first, i, - m_images.size(), it->second->refCount()); - i++; - } -} - -ImageTexture* TilesManager::getTextureForImage(SkBitmapRef* img, bool retain) -{ - android::Mutex::Autolock lock(m_imagesLock); - ImageTexture* image = m_images.get(img); - if (retain && image) - image->retain(); - return image; -} - TilesManager* TilesManager::instance() { if (!gInstance) { -- cgit v1.1