| 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 3cef2b7937e04ef07d2b6d6638d22aec75768c5c..4bc967a92c73f4f9605584871040550f2709a414 100644
 | 
| --- a/content/child/child_gpu_memory_buffer_manager.cc
 | 
| +++ b/content/child/child_gpu_memory_buffer_manager.cc
 | 
| @@ -12,82 +12,35 @@
 | 
|  #include "gpu/ipc/client/gpu_memory_buffer_impl.h"
 | 
|  
 | 
|  namespace content {
 | 
| -namespace {
 | 
| -
 | 
| -void DeletedGpuMemoryBuffer(ThreadSafeSender* sender,
 | 
| -                            gfx::GpuMemoryBufferId id,
 | 
| -                            const gpu::SyncToken& sync_token) {
 | 
| -  TRACE_EVENT0("renderer",
 | 
| -               "ChildGpuMemoryBufferManager::DeletedGpuMemoryBuffer");
 | 
| -  sender->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer(id, sync_token));
 | 
| -}
 | 
| -
 | 
| -}  // namespace
 | 
|  
 | 
|  ChildGpuMemoryBufferManager::ChildGpuMemoryBufferManager(
 | 
|      ThreadSafeSender* sender)
 | 
| -    : sender_(sender) {
 | 
| -}
 | 
| +    : sender_(sender),
 | 
| +      gpu_memory_buffer_manager_(
 | 
| +          make_scoped_refptr(new gpu::ClientGpuMemoryBufferManager(this))) {}
 | 
|  
 | 
|  ChildGpuMemoryBufferManager::~ChildGpuMemoryBufferManager() {
 | 
| +  gpu_memory_buffer_manager_->reset_delegate();
 | 
|  }
 | 
|  
 | 
| -std::unique_ptr<gfx::GpuMemoryBuffer>
 | 
| -ChildGpuMemoryBufferManager::AllocateGpuMemoryBuffer(
 | 
| +gfx::GpuMemoryBufferHandle ChildGpuMemoryBufferManager::GetSharedMemoryHandle(
 | 
|      const gfx::Size& size,
 | 
|      gfx::BufferFormat format,
 | 
| -    gfx::BufferUsage usage,
 | 
| -    gpu::SurfaceHandle surface_handle) {
 | 
| -  DCHECK_EQ(gpu::kNullSurfaceHandle, surface_handle);
 | 
| -  TRACE_EVENT2("renderer",
 | 
| -               "ChildGpuMemoryBufferManager::AllocateGpuMemoryBuffer",
 | 
| -               "width",
 | 
| -               size.width(),
 | 
| -               "height",
 | 
| -               size.height());
 | 
| -
 | 
| +    gfx::BufferUsage usage) {
 | 
|    gfx::GpuMemoryBufferHandle handle;
 | 
|    IPC::Message* message = new ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer(
 | 
|        content::GetNextGenericSharedMemoryId(), size.width(), size.height(),
 | 
|        format, usage, &handle);
 | 
|    bool success = sender_->Send(message);
 | 
| -  if (!success || handle.is_null())
 | 
| -    return nullptr;
 | 
| -
 | 
| -  std::unique_ptr<gpu::GpuMemoryBufferImpl> buffer(
 | 
| -      gpu::GpuMemoryBufferImpl::CreateFromHandle(
 | 
| -          handle, size, format, usage,
 | 
| -          base::Bind(&DeletedGpuMemoryBuffer, base::RetainedRef(sender_),
 | 
| -                     handle.id)));
 | 
| -  if (!buffer) {
 | 
| -    sender_->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer(
 | 
| -        handle.id, gpu::SyncToken()));
 | 
| -    return nullptr;
 | 
| -  }
 | 
| -
 | 
| -  return std::move(buffer);
 | 
| -}
 | 
| -
 | 
| -std::unique_ptr<gfx::GpuMemoryBuffer>
 | 
| -ChildGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle(
 | 
| -    const gfx::GpuMemoryBufferHandle& handle,
 | 
| -    const gfx::Size& size,
 | 
| -    gfx::BufferFormat format) {
 | 
| -  NOTIMPLEMENTED();
 | 
| -  return nullptr;
 | 
| +  return success ? handle : gfx::GpuMemoryBufferHandle();
 | 
|  }
 | 
|  
 | 
| -gfx::GpuMemoryBuffer*
 | 
| -ChildGpuMemoryBufferManager::GpuMemoryBufferFromClientBuffer(
 | 
| -    ClientBuffer buffer) {
 | 
| -  return gpu::GpuMemoryBufferImpl::FromClientBuffer(buffer);
 | 
| -}
 | 
| -
 | 
| -void ChildGpuMemoryBufferManager::SetDestructionSyncToken(
 | 
| -    gfx::GpuMemoryBuffer* buffer,
 | 
| -    const gpu::SyncToken& sync_token) {
 | 
| -  static_cast<gpu::GpuMemoryBufferImpl*>(buffer)->set_destruction_sync_token(
 | 
| -      sync_token);
 | 
| +void ChildGpuMemoryBufferManager::DeletedGpuMemoryBuffer(
 | 
| +    gfx::GpuMemoryBufferId id,
 | 
| +    const gpu::SyncToken& token) {
 | 
| +  TRACE_EVENT0("renderer",
 | 
| +               "ChildGpuMemoryBufferManager::DeletedGpuMemoryBuffer");
 | 
| +  sender_->Send(new ChildProcessHostMsg_DeletedGpuMemoryBuffer(id, token));
 | 
|  }
 | 
|  
 | 
|  }  // namespace content
 | 
| 
 |