Index: content/common/gpu/image_transport_surface_linux.cc |
=================================================================== |
--- content/common/gpu/image_transport_surface_linux.cc (revision 111043) |
+++ content/common/gpu/image_transport_surface_linux.cc (working copy) |
@@ -77,6 +77,7 @@ |
virtual void OnNewSurfaceACK( |
uint64 surface_id, TransportDIB::Handle surface_handle) OVERRIDE; |
virtual void OnBuffersSwappedACK() OVERRIDE; |
+ virtual void OnResizeViewACK() OVERRIDE; |
virtual void OnResize(gfx::Size size) OVERRIDE; |
private: |
@@ -119,6 +120,7 @@ |
virtual void OnNewSurfaceACK( |
uint64 surface_id, TransportDIB::Handle surface_handle) OVERRIDE; |
virtual void OnBuffersSwappedACK() OVERRIDE; |
+ virtual void OnResizeViewACK() OVERRIDE; |
virtual void OnResize(gfx::Size size) OVERRIDE; |
private: |
@@ -167,6 +169,7 @@ |
virtual void OnNewSurfaceACK( |
uint64 surface_id, TransportDIB::Handle surface_handle) OVERRIDE; |
virtual void OnBuffersSwappedACK() OVERRIDE; |
+ virtual void OnResizeViewACK() OVERRIDE; |
virtual void OnResize(gfx::Size size) OVERRIDE; |
private: |
@@ -374,6 +377,11 @@ |
helper_->SetScheduled(true); |
} |
+ |
+void EGLImageTransportSurface::OnResizeViewACK() { |
+ NOTREACHED(); |
+} |
+ |
GLXImageTransportSurface::GLXImageTransportSurface( |
GpuChannelManager* manager, |
int32 render_view_id, |
@@ -539,6 +547,10 @@ |
helper_->SetScheduled(true); |
} |
+void GLXImageTransportSurface::OnResizeViewACK() { |
+ NOTREACHED(); |
+} |
+ |
OSMesaImageTransportSurface::OSMesaImageTransportSurface( |
GpuChannelManager* manager, |
int32 render_view_id, |
@@ -617,6 +629,10 @@ |
helper_->SetScheduled(true); |
} |
+void OSMesaImageTransportSurface::OnResizeViewACK() { |
+ NOTREACHED(); |
+} |
+ |
bool OSMesaImageTransportSurface::SwapBuffers() { |
DCHECK_NE(shared_mem_.get(), static_cast<void*>(NULL)); |
@@ -648,8 +664,9 @@ |
int32 render_view_id, |
int32 renderer_id, |
int32 command_buffer_id, |
- gfx::PluginWindowHandle /* handle */) { |
+ gfx::PluginWindowHandle handle) { |
scoped_refptr<gfx::GLSurface> surface; |
+#if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) |
switch (gfx::GetGLImplementation()) { |
case gfx::kGLImplementationDesktopGL: |
surface = new GLXImageTransportSurface(manager, |
@@ -673,6 +690,17 @@ |
NOTREACHED(); |
return NULL; |
} |
+#else |
+ surface = gfx::GLSurface::CreateViewGLSurface(false, handle); |
+ if (!surface.get()) |
+ return NULL; |
+ |
+ surface = new PassThroughImageTransportSurface(manager, |
+ render_view_id, |
+ renderer_id, |
+ command_buffer_id, |
+ surface.get()); |
+#endif |
if (surface->Initialize()) |
return surface; |
else |