| Index: ui/gl/gl_surface.h
 | 
| diff --git a/ui/gl/gl_surface.h b/ui/gl/gl_surface.h
 | 
| index c0743f7f48547da5ae2ccacdc2f1ec9c6cef5851..ce01dbc9e4aa77d0460a19e2266e0b3777e7ac8a 100644
 | 
| --- a/ui/gl/gl_surface.h
 | 
| +++ b/ui/gl/gl_surface.h
 | 
| @@ -20,6 +20,7 @@
 | 
|  #include "ui/gl/gl_export.h"
 | 
|  #include "ui/gl/gl_image.h"
 | 
|  #include "ui/gl/gl_implementation.h"
 | 
| +#include "ui/gl/gl_surface_format.h"
 | 
|  
 | 
|  namespace gfx {
 | 
|  class VSyncProvider;
 | 
| @@ -39,22 +40,17 @@ class GL_EXPORT GLSurface : public base::RefCounted<GLSurface> {
 | 
|   public:
 | 
|    GLSurface();
 | 
|  
 | 
| -  // Minimum bit depth of surface.
 | 
| -  enum Format {
 | 
| -    SURFACE_ARGB8888,
 | 
| -    SURFACE_RGB565,
 | 
| -    SURFACE_OSMESA_BGRA,
 | 
| -    SURFACE_OSMESA_RGBA,
 | 
| -    SURFACE_SURFACELESS,
 | 
| -    SURFACE_DEFAULT = SURFACE_ARGB8888
 | 
| -  };
 | 
| +  // Non-virtual initialization, this always calls Initialize with a
 | 
| +  // default GLSurfaceFormat. Subclasses should override the format-
 | 
| +  // specific Initialize method below and interpret the default format
 | 
| +  // as appropriate.
 | 
| +  bool Initialize();
 | 
|  
 | 
|    // (Re)create the surface. TODO(apatrick): This is an ugly hack to allow the
 | 
|    // EGL surface associated to be recreated without destroying the associated
 | 
|    // context. The implementation of this function for other GLSurface derived
 | 
|    // classes is in a pending changelist.
 | 
| -  virtual bool Initialize();
 | 
| -  virtual bool Initialize(GLSurface::Format format);
 | 
| +  virtual bool Initialize(GLSurfaceFormat format);
 | 
|  
 | 
|    // Destroys the surface.
 | 
|    virtual void Destroy() = 0;
 | 
| @@ -164,7 +160,7 @@ class GL_EXPORT GLSurface : public base::RefCounted<GLSurface> {
 | 
|    virtual unsigned long GetCompatibilityKey();
 | 
|  
 | 
|    // Get the GL pixel format of the surface, if available.
 | 
| -  virtual GLSurface::Format GetFormat();
 | 
| +  virtual GLSurfaceFormat GetFormat();
 | 
|  
 | 
|    // Get access to a helper providing time of recent refresh and period
 | 
|    // of screen refresh. If unavailable, returns NULL.
 | 
| @@ -234,7 +230,7 @@ class GL_EXPORT GLSurfaceAdapter : public GLSurface {
 | 
|   public:
 | 
|    explicit GLSurfaceAdapter(GLSurface* surface);
 | 
|  
 | 
| -  bool Initialize(GLSurface::Format format) override;
 | 
| +  bool Initialize(GLSurfaceFormat format) override;
 | 
|    void Destroy() override;
 | 
|    bool Resize(const gfx::Size& size,
 | 
|                float scale_factor,
 | 
| @@ -271,7 +267,7 @@ class GL_EXPORT GLSurfaceAdapter : public GLSurface {
 | 
|    void* GetDisplay() override;
 | 
|    void* GetConfig() override;
 | 
|    unsigned long GetCompatibilityKey() override;
 | 
| -  GLSurface::Format GetFormat() override;
 | 
| +  GLSurfaceFormat GetFormat() override;
 | 
|    gfx::VSyncProvider* GetVSyncProvider() override;
 | 
|    bool ScheduleOverlayPlane(int z_order,
 | 
|                              gfx::OverlayTransform transform,
 | 
| @@ -299,6 +295,9 @@ class GL_EXPORT GLSurfaceAdapter : public GLSurface {
 | 
|  GL_EXPORT scoped_refptr<GLSurface> InitializeGLSurface(
 | 
|      scoped_refptr<GLSurface> surface);
 | 
|  
 | 
| +GL_EXPORT scoped_refptr<GLSurface> InitializeGLSurfaceWithFormat(
 | 
| +    scoped_refptr<GLSurface> surface, GLSurfaceFormat format);
 | 
| +
 | 
|  }  // namespace gl
 | 
|  
 | 
|  #endif  // UI_GL_GL_SURFACE_H_
 | 
| 
 |