Index: components/view_manager/gles2/gpu_memory_buffer_impl.h |
diff --git a/components/view_manager/gles2/mojo_gpu_memory_buffer.h b/components/view_manager/gles2/gpu_memory_buffer_impl.h |
similarity index 51% |
copy from components/view_manager/gles2/mojo_gpu_memory_buffer.h |
copy to components/view_manager/gles2/gpu_memory_buffer_impl.h |
index 341c5542c74a99010efc9efe7a1d14093d2241b6..bd6fa57e7952d4cdeba2a692b8f20f8e0c4d21ee 100644 |
--- a/components/view_manager/gles2/mojo_gpu_memory_buffer.h |
+++ b/components/view_manager/gles2/gpu_memory_buffer_impl.h |
@@ -2,47 +2,50 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef COMPONENTS_VIEW_MANAGER_GLES2_MOJO_GPU_MEMORY_BUFFER_H_ |
-#define COMPONENTS_VIEW_MANAGER_GLES2_MOJO_GPU_MEMORY_BUFFER_H_ |
+#ifndef COMPONENTS_VIEW_MANAGER_GLES2_GPU_MEMORY_BUFFER_IMPL_H_ |
+#define COMPONENTS_VIEW_MANAGER_GLES2_GPU_MEMORY_BUFFER_IMPL_H_ |
-#include "base/memory/scoped_ptr.h" |
+#include "base/memory/ref_counted_memory.h" |
#include "ui/gfx/geometry/size.h" |
#include "ui/gfx/gpu_memory_buffer.h" |
namespace gles2 { |
-class MojoGpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
+// TODO(fsamuel): See if we can merge this with MojoGpuMemoryBufferImpl. |
+class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
public: |
- MojoGpuMemoryBufferImpl(const gfx::Size& size, |
- gfx::BufferFormat format, |
- scoped_ptr<base::SharedMemory> shared_memory); |
- ~MojoGpuMemoryBufferImpl() override; |
- |
static scoped_ptr<gfx::GpuMemoryBuffer> Create(const gfx::Size& size, |
- gfx::BufferFormat format, |
- gfx::BufferUsage usage); |
+ gfx::BufferFormat format); |
+ |
+ ~GpuMemoryBufferImpl() override; |
- static MojoGpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer); |
+ static GpuMemoryBufferImpl* FromClientBuffer(ClientBuffer buffer) { |
+ return reinterpret_cast<GpuMemoryBufferImpl*>(buffer); |
+ } |
// Overridden from gfx::GpuMemoryBuffer: |
bool Map(void** data) override; |
void Unmap() override; |
bool IsMapped() const override; |
gfx::BufferFormat GetFormat() const override; |
- void GetStride(int* stride) const override; |
gfx::GpuMemoryBufferId GetId() const override; |
+ void GetStride(int* stride) const override; |
gfx::GpuMemoryBufferHandle GetHandle() const override; |
ClientBuffer AsClientBuffer() override; |
+ base::RefCountedBytes* bytes() { return bytes_.get(); } |
+ |
private: |
+ GpuMemoryBufferImpl(base::RefCountedBytes* bytes, |
+ const gfx::Size& size, |
+ gfx::BufferFormat format); |
+ |
+ scoped_refptr<base::RefCountedBytes> bytes_; |
const gfx::Size size_; |
gfx::BufferFormat format_; |
- scoped_ptr<base::SharedMemory> shared_memory_; |
bool mapped_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MojoGpuMemoryBufferImpl); |
}; |
-} // gles2 |
+} // namespace gles2 |
-#endif // COMPONENTS_VIEW_MANAGER_GLES2_MOJO_GPU_MEMORY_BUFFER_H_ |
+#endif // COMPONENTS_VIEW_MANAGER_GLES2_GPU_MEMORY_BUFFER_IMPL_H_ |