Index: content/common/gpu/image_transport_surface_linux.cc |
=================================================================== |
--- content/common/gpu/image_transport_surface_linux.cc (revision 108480) |
+++ content/common/gpu/image_transport_surface_linux.cc (working copy) |
@@ -76,6 +76,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: |
@@ -117,6 +118,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: |
@@ -162,6 +164,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: |
@@ -369,6 +372,11 @@ |
helper_->SetScheduled(true); |
} |
+ |
+void EGLImageTransportSurface::OnResizeViewACK() { |
+ NOTREACHED(); |
+} |
+ |
GLXImageTransportSurface::GLXImageTransportSurface( |
GpuChannelManager* manager, |
int32 render_view_id, |
@@ -524,6 +532,10 @@ |
helper_->SetScheduled(true); |
} |
+void GLXImageTransportSurface::OnResizeViewACK() { |
+ NOTREACHED(); |
+} |
+ |
OSMesaImageTransportSurface::OSMesaImageTransportSurface( |
GpuChannelManager* manager, |
int32 render_view_id, |
@@ -602,6 +614,10 @@ |
helper_->SetScheduled(true); |
} |
+void OSMesaImageTransportSurface::OnResizeViewACK() { |
+ NOTREACHED(); |
+} |
+ |
bool OSMesaImageTransportSurface::SwapBuffers() { |
DCHECK_NE(shared_mem_.get(), static_cast<void*>(NULL)); |
@@ -633,8 +649,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, |
@@ -658,6 +675,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 |