1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef ANDROID_WEBVIEW_BROWSER_GPU_MEMORY_BUFFER_FACTORY_IMPL_H_
6#define ANDROID_WEBVIEW_BROWSER_GPU_MEMORY_BUFFER_FACTORY_IMPL_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "gpu/command_buffer/client/gpu_memory_buffer_factory.h"
11
12struct AwDrawGLFunctionTable;
13
14namespace android_webview {
15
16class GpuMemoryBufferFactoryImpl : public gpu::GpuMemoryBufferFactory {
17 public:
18  GpuMemoryBufferFactoryImpl();
19  virtual ~GpuMemoryBufferFactoryImpl();
20
21  static void SetAwDrawGLFunctionTable(AwDrawGLFunctionTable* table);
22
23  // Overridden from gpu::GpuMemoryBufferFactory:
24  virtual gfx::GpuMemoryBuffer* CreateGpuMemoryBuffer(
25      size_t width,
26      size_t height,
27      unsigned internalformat) OVERRIDE;
28
29 private:
30  DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferFactoryImpl);
31};
32
33}  // namespace android_webview
34
35#endif  // ANDROID_WEBVIEW_BROWSER_GPU_MEMORY_BUFFER_FACTORY_IMPL_H_
36