Index: gpu/command_buffer/service/async_pixel_transfer_manager.cc |
diff --git a/gpu/command_buffer/service/async_pixel_transfer_manager.cc b/gpu/command_buffer/service/async_pixel_transfer_manager.cc |
index efc893a40cabd5784adeb82b8b36cbef7185a17c..2685d772867385d63155122f7c9e1aaeb5ead050 100644 |
--- a/gpu/command_buffer/service/async_pixel_transfer_manager.cc |
+++ b/gpu/command_buffer/service/async_pixel_transfer_manager.cc |
@@ -12,7 +12,8 @@ AsyncPixelTransferCompletionObserver::AsyncPixelTransferCompletionObserver() {} |
AsyncPixelTransferCompletionObserver::~AsyncPixelTransferCompletionObserver() {} |
-AsyncPixelTransferManager::AsyncPixelTransferManager() {} |
+AsyncPixelTransferManager::AsyncPixelTransferManager() : manager_(NULL) { |
+} |
AsyncPixelTransferManager::~AsyncPixelTransferManager() { |
if (manager_) |
@@ -43,7 +44,18 @@ AsyncPixelTransferManager::CreatePixelTransferDelegate( |
} |
AsyncPixelTransferDelegate* |
-AsyncPixelTransferManager::GetPixelTransferDelegate( |
+AsyncPixelTransferManager::CreatePixelTransferDelegate( |
+ gles2::TextureRef* ref, |
+ const AsyncCompressedTexImage2DParams& define_params) { |
+ DCHECK(!GetPixelTransferDelegate(ref)); |
+ AsyncPixelTransferDelegate* delegate = |
+ CreatePixelTransferDelegateImpl(ref, define_params); |
+ delegate_map_[ref] = make_linked_ptr(delegate); |
+ ref->AddObserver(); |
+ return delegate; |
+} |
+ |
+AsyncPixelTransferDelegate* AsyncPixelTransferManager::GetPixelTransferDelegate( |
gles2::TextureRef* ref) { |
TextureToDelegateMap::iterator it = delegate_map_.find(ref); |
if (it == delegate_map_.end()) { |