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 #include "content/common/gpu/image_transport_surface.h" 6 7 namespace content { 8 9 // static 10 scoped_refptr<gfx::GLSurface> ImageTransportSurface::CreateNativeSurface( 11 GpuChannelManager* manager, 12 GpuCommandBufferStub* stub, 13 const gfx::GLSurfaceHandle& handle) { 14 DCHECK(handle.handle); 15 DCHECK(handle.transport_type == gfx::NATIVE_DIRECT || 16 handle.transport_type == gfx::NATIVE_TRANSPORT); 17 scoped_refptr<gfx::GLSurface> surface = 18 gfx::GLSurface::CreateViewGLSurface(handle.handle); 19 if (!surface.get()) 20 return surface; 21 return scoped_refptr<gfx::GLSurface>(new PassThroughImageTransportSurface( 22 manager, stub, surface.get(), handle.is_transport())); 23 } 24 25 } // namespace content 26