Index: content/common/gpu/client/gpu_memory_buffer_impl_shm.cc |
diff --git a/content/common/gpu/client/gpu_memory_buffer_impl_shm.cc b/content/common/gpu/client/gpu_memory_buffer_impl_shm.cc |
index a978c66bbac01c1ebbbcb920bdd78b23d7c12f22..8420931420697ffaf739e52e867358d4e0c0d1a0 100644 |
--- a/content/common/gpu/client/gpu_memory_buffer_impl_shm.cc |
+++ b/content/common/gpu/client/gpu_memory_buffer_impl_shm.cc |
@@ -20,16 +20,18 @@ void GpuMemoryBufferImplShm::AllocateSharedMemoryForChildProcess( |
const gfx::Size& size, |
unsigned internalformat, |
base::ProcessHandle child_process, |
- gfx::GpuMemoryBufferHandle* handle) { |
+ const AllocationCallback& callback) { |
DCHECK(IsLayoutSupported(size, internalformat)); |
+ gfx::GpuMemoryBufferHandle handle; |
base::SharedMemory shared_memory; |
if (!shared_memory.CreateAnonymous(size.GetArea() * |
BytesPerPixel(internalformat))) { |
- handle->type = gfx::EMPTY_BUFFER; |
+ handle.type = gfx::EMPTY_BUFFER; |
return; |
} |
- handle->type = gfx::SHARED_MEMORY_BUFFER; |
- shared_memory.GiveToProcess(child_process, &handle->handle); |
+ handle.type = gfx::SHARED_MEMORY_BUFFER; |
+ shared_memory.GiveToProcess(child_process, &handle.handle); |
+ callback.Run(handle); |
} |
// static |