Index: content/child/child_gpu_memory_buffer_manager.cc |
diff --git a/content/child/child_gpu_memory_buffer_manager.cc b/content/child/child_gpu_memory_buffer_manager.cc |
index 21a512f319453169e1e7632c6b96168355829a53..c83ceea64155878cb1e3e3ae0de17bff2c53f002 100644 |
--- a/content/child/child_gpu_memory_buffer_manager.cc |
+++ b/content/child/child_gpu_memory_buffer_manager.cc |
@@ -45,13 +45,18 @@ |
content::GetNextGenericSharedMemoryId(), size.width(), size.height(), |
format, usage, &handle); |
bool success = sender_->Send(message); |
- CHECK(success); |
- CHECK(!handle.is_null()); |
+ if (!success || handle.is_null()) |
+ return nullptr; |
scoped_ptr<GpuMemoryBufferImpl> buffer(GpuMemoryBufferImpl::CreateFromHandle( |
handle, size, format, usage, |
base::Bind(&DeletedGpuMemoryBuffer, sender_, handle.id))); |
- CHECK(buffer); |
+ if (!buffer) { |
+ sender_->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer( |
+ handle.id, gpu::SyncToken())); |
+ return nullptr; |
+ } |
+ |
return buffer.Pass(); |
} |