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 34b94f2bd772282c5fee596f427b8c61e61806ef..546a95eba93c74e986d647debcd3595fd75ac6c2 100644 |
--- a/content/browser/renderer_host/render_message_filter.cc |
+++ b/content/browser/renderer_host/render_message_filter.cc |
@@ -20,6 +20,7 @@ |
#include "content/browser/dom_storage/dom_storage_context_wrapper.h" |
#include "content/browser/dom_storage/session_storage_namespace_impl.h" |
#include "content/browser/download/download_stats.h" |
+#include "content/browser/gpu/browser_gpu_memory_buffer_manager.h" |
#include "content/browser/gpu/gpu_data_manager_impl.h" |
#include "content/browser/loader/resource_dispatcher_host_impl.h" |
#include "content/browser/media/media_internals.h" |
@@ -338,6 +339,7 @@ RenderMessageFilter::~RenderMessageFilter() { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
DCHECK(plugin_host_clients_.empty()); |
HostSharedBitmapManager::current()->ProcessRemoved(PeerHandle()); |
+ BrowserGpuMemoryBufferManager::current()->ProcessRemoved(PeerHandle()); |
} |
void RenderMessageFilter::OnChannelClosing() { |
@@ -1234,16 +1236,12 @@ void RenderMessageFilter::OnAddNavigationTransitionData( |
selector, markup); |
} |
-void RenderMessageFilter::OnAllocateGpuMemoryBuffer(uint32 width, |
- uint32 height, |
- uint32 internalformat, |
- uint32 usage, |
- IPC::Message* reply) { |
- if (!GpuMemoryBufferImpl::IsFormatValid(internalformat) || |
- !GpuMemoryBufferImpl::IsUsageValid(usage)) { |
- GpuMemoryBufferAllocated(reply, gfx::GpuMemoryBufferHandle()); |
- return; |
- } |
+void RenderMessageFilter::OnAllocateGpuMemoryBuffer( |
+ uint32 width, |
+ uint32 height, |
+ gfx::GpuMemoryBuffer::Format format, |
+ gfx::GpuMemoryBuffer::Usage usage, |
+ IPC::Message* reply) { |
base::CheckedNumeric<int> size = width; |
size *= height; |
if (!size.IsValid()) { |
@@ -1251,13 +1249,15 @@ void RenderMessageFilter::OnAllocateGpuMemoryBuffer(uint32 width, |
return; |
} |
- GpuMemoryBufferImpl::AllocateForChildProcess( |
- gfx::Size(width, height), |
- internalformat, |
- usage, |
- PeerHandle(), |
- render_process_id_, |
- base::Bind(&RenderMessageFilter::GpuMemoryBufferAllocated, this, reply)); |
+ BrowserGpuMemoryBufferManager::current() |
+ ->AllocateGpuMemoryBufferForChildProcess( |
+ gfx::Size(width, height), |
+ format, |
+ usage, |
+ PeerHandle(), |
+ render_process_id_, |
+ base::Bind( |
+ &RenderMessageFilter::GpuMemoryBufferAllocated, this, reply)); |
} |
void RenderMessageFilter::GpuMemoryBufferAllocated( |
@@ -1272,7 +1272,8 @@ void RenderMessageFilter::GpuMemoryBufferAllocated( |
void RenderMessageFilter::OnDeletedGpuMemoryBuffer( |
gfx::GpuMemoryBufferType type, |
const gfx::GpuMemoryBufferId& id) { |
- GpuMemoryBufferImpl::DeletedByChildProcess(type, id, PeerHandle()); |
+ BrowserGpuMemoryBufferManager::current()->ChildProcessDeletedGpuMemoryBuffer( |
+ type, id, PeerHandle()); |
} |
} // namespace content |