| Index: services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
 | 
| diff --git a/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h b/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
 | 
| index 1d8e0986db82ef8ee396b41d1b683f9a975d36db..1ab48f2bff877e3a6a7103f93e717b3413befcc1 100644
 | 
| --- a/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
 | 
| +++ b/services/ui/public/cpp/mojo_gpu_memory_buffer_manager.h
 | 
| @@ -10,9 +10,8 @@
 | 
|  
 | 
|  #include "base/macros.h"
 | 
|  #include "base/memory/ref_counted.h"
 | 
| -#include "base/memory/weak_ptr.h"
 | 
|  #include "base/threading/thread.h"
 | 
| -#include "gpu/command_buffer/client/gpu_memory_buffer_manager.h"
 | 
| +#include "gpu/ipc/client/client_gpu_memory_buffer_manager.h"
 | 
|  #include "services/ui/public/interfaces/gpu_service.mojom.h"
 | 
|  
 | 
|  namespace base {
 | 
| @@ -29,11 +28,16 @@ namespace mojom {
 | 
|  class GpuService;
 | 
|  }
 | 
|  
 | 
| -class MojoGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
 | 
| +class MojoGpuMemoryBufferManager
 | 
| +    : public gpu::ClientGpuMemoryBufferManager::Delegate {
 | 
|   public:
 | 
|    explicit MojoGpuMemoryBufferManager(service_manager::Connector* connector);
 | 
|    ~MojoGpuMemoryBufferManager() override;
 | 
|  
 | 
| +  gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager() {
 | 
| +    return gpu_memory_buffer_manager_.get();
 | 
| +  }
 | 
| +
 | 
|   private:
 | 
|    void InitThread();
 | 
|    void TearDownThread();
 | 
| @@ -42,29 +46,21 @@ class MojoGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
 | 
|                                         gfx::BufferUsage usage,
 | 
|                                         gfx::GpuMemoryBufferHandle* handle,
 | 
|                                         base::WaitableEvent* wait);
 | 
| -  void DeletedGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
 | 
| -                              const gpu::SyncToken& sync_token);
 | 
|  
 | 
| -  // Overridden from gpu::GpuMemoryBufferManager:
 | 
| -  std::unique_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer(
 | 
| +  // gpu::ClientGpuMemoryBufferManager::Delegate:
 | 
| +  gfx::GpuMemoryBufferHandle GetSharedMemoryHandle(
 | 
|        const gfx::Size& size,
 | 
|        gfx::BufferFormat format,
 | 
| -      gfx::BufferUsage usage,
 | 
| -      gpu::SurfaceHandle surface_handle) override;
 | 
| -  std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBufferFromHandle(
 | 
| -      const gfx::GpuMemoryBufferHandle& handle,
 | 
| -      const gfx::Size& size,
 | 
| -      gfx::BufferFormat format) override;
 | 
| -  gfx::GpuMemoryBuffer* GpuMemoryBufferFromClientBuffer(
 | 
| -      ClientBuffer buffer) override;
 | 
| -  void SetDestructionSyncToken(gfx::GpuMemoryBuffer* buffer,
 | 
| -                               const gpu::SyncToken& sync_token) override;
 | 
| +      gfx::BufferUsage usage) override;
 | 
| +  void DeletedGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
 | 
| +                              const gpu::SyncToken& token) override;
 | 
| +
 | 
|    int counter_ = 0;
 | 
|    // TODO(sad): Explore the option of doing this from an existing thread.
 | 
|    base::Thread thread_;
 | 
| +  scoped_refptr<gpu::ClientGpuMemoryBufferManager> gpu_memory_buffer_manager_;
 | 
|    mojom::GpuServicePtr gpu_service_;
 | 
|    std::unique_ptr<service_manager::Connector> connector_;
 | 
| -  base::WeakPtrFactory<MojoGpuMemoryBufferManager> weak_ptr_factory_;
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(MojoGpuMemoryBufferManager);
 | 
|  };
 | 
| 
 |