Index: ui/gl/init/gl_factory_win.cc |
diff --git a/ui/gl/init/gl_factory_win.cc b/ui/gl/init/gl_factory_win.cc |
index da07adc39bdad5f9fded0ed160b98cc7f53ba98c..198147d3f572308889f9522dcac87b5fd754443a 100644 |
--- a/ui/gl/init/gl_factory_win.cc |
+++ b/ui/gl/init/gl_factory_win.cc |
@@ -82,15 +82,9 @@ scoped_refptr<GLSurface> CreateViewGLSurface(gfx::AcceleratedWidget window) { |
return InitializeGLSurface(new GLSurfaceOSMesaWin(window)); |
case kGLImplementationSwiftShaderGL: |
case kGLImplementationEGLGLES2: { |
- DCHECK(window != gfx::kNullAcceleratedWidget); |
- scoped_refptr<NativeViewGLSurfaceEGL> surface( |
- new NativeViewGLSurfaceEGL(window)); |
- std::unique_ptr<gfx::VSyncProvider> sync_provider; |
- sync_provider.reset(new VSyncProviderWin(window)); |
- if (!surface->Initialize(std::move(sync_provider))) |
- return nullptr; |
- |
- return surface; |
+ std::unique_ptr<gfx::VSyncProvider> sync_provider( |
+ new VSyncProviderWin(window)); |
+ return CreateNativeViewGLSurfaceEGL(window, std::move(sync_provider)); |
} |
case kGLImplementationDesktopGL: |
return InitializeGLSurface(new NativeViewGLSurfaceWGL(window)); |
@@ -103,6 +97,21 @@ scoped_refptr<GLSurface> CreateViewGLSurface(gfx::AcceleratedWidget window) { |
} |
} |
+scoped_refptr<GLSurface> CreateNativeViewGLSurfaceEGL( |
+ gfx::AcceleratedWidget window, |
+ std::unique_ptr<gfx::VSyncProvider> sync_provider) { |
+ DCHECK_EQ(kGLImplementationEGLGLES2, GetGLImplementation()); |
+ DCHECK(window != gfx::kNullAcceleratedWidget); |
+ |
+ scoped_refptr<NativeViewGLSurfaceEGL> surface( |
+ new NativeViewGLSurfaceEGL(window)); |
+ |
+ if (!surface->Initialize(std::move(sync_provider))) |
+ return nullptr; |
+ |
+ return surface; |
+} |
+ |
scoped_refptr<GLSurface> CreateOffscreenGLSurfaceWithFormat( |
const gfx::Size& size, GLSurfaceFormat format) { |
TRACE_EVENT0("gpu", "gl::init::CreateOffscreenGLSurface"); |