Index: content/browser/renderer_host/render_message_filter.cc |
diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc |
index b218da885612c4fe06e6e7d5e07c8ebdfa9f0ad1..27ad9c839a49f6880b2828a8f3a18a3e02d1c1a6 100644 |
--- a/content/browser/renderer_host/render_message_filter.cc |
+++ b/content/browser/renderer_host/render_message_filter.cc |
@@ -326,7 +326,10 @@ RenderMessageFilter::~RenderMessageFilter() { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
DCHECK(plugin_host_clients_.empty()); |
HostSharedBitmapManager::current()->ProcessRemoved(PeerHandle()); |
- BrowserGpuMemoryBufferManager::current()->ProcessRemoved(PeerHandle()); |
+ BrowserGpuMemoryBufferManager* gpu_memory_buffer_manager = |
+ BrowserGpuMemoryBufferManager::current(); |
+ if (gpu_memory_buffer_manager) |
+ gpu_memory_buffer_manager->ProcessRemoved(PeerHandle(), render_process_id_); |
HostDiscardableSharedMemoryManager::current()->ProcessRemoved(PeerHandle()); |
} |
@@ -1243,6 +1246,8 @@ void RenderMessageFilter::OnAllocateGpuMemoryBuffer( |
gfx::GpuMemoryBuffer::Format format, |
gfx::GpuMemoryBuffer::Usage usage, |
IPC::Message* reply) { |
+ DCHECK(BrowserGpuMemoryBufferManager::current()); |
+ |
base::CheckedNumeric<int> size = width; |
size *= height; |
if (!size.IsValid()) { |
@@ -1271,11 +1276,12 @@ void RenderMessageFilter::GpuMemoryBufferAllocated( |
} |
void RenderMessageFilter::OnDeletedGpuMemoryBuffer( |
- gfx::GpuMemoryBufferType type, |
gfx::GpuMemoryBufferId id, |
uint32 sync_point) { |
+ DCHECK(BrowserGpuMemoryBufferManager::current()); |
+ |
BrowserGpuMemoryBufferManager::current()->ChildProcessDeletedGpuMemoryBuffer( |
- type, id, PeerHandle(), render_process_id_, sync_point); |
+ id, PeerHandle(), render_process_id_, sync_point); |
} |
} // namespace content |