Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
=================================================================== |
--- content/browser/renderer_host/render_widget_host_view_aura.cc (revision 108480) |
+++ content/browser/renderer_host/render_widget_host_view_aura.cc (working copy) |
@@ -279,46 +279,50 @@ |
return new BackingStoreSkia(host_, size); |
} |
-#if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) |
-void RenderWidgetHostViewAura::AcceleratedSurfaceNew( |
- int32 width, |
- int32 height, |
- uint64* surface_id, |
- TransportDIB::Handle* surface_handle) { |
- scoped_refptr<AcceleratedSurfaceContainerLinux> surface( |
- AcceleratedSurfaceContainerLinux::Create(gfx::Size(width, height))); |
- if (!surface->Initialize(surface_id)) { |
- LOG(ERROR) << "Failed to create AcceleratedSurfaceContainer"; |
- return; |
- } |
- *surface_handle = surface->Handle(); |
- |
- accelerated_surface_containers_[*surface_id] = surface; |
-} |
- |
void RenderWidgetHostViewAura::AcceleratedSurfaceBuffersSwapped( |
- uint64 surface_id, |
- int32 route_id, |
+ const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params, |
int gpu_host_id) { |
+#if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) |
window_->layer()->SetExternalTexture( |
- accelerated_surface_containers_[surface_id]->GetTexture()); |
+ accelerated_surface_containers_[params.surface_id]->GetTexture()); |
glFlush(); |
if (!window_->layer()->GetCompositor()) { |
// We have no compositor, so we have no way to display the surface |
- AcknowledgeSwapBuffers(route_id, gpu_host_id); // Must still send the ACK |
+ // Must still send the ACK. |
+ AcknowledgeSwapBuffers(params.route_id, gpu_host_id); |
} else { |
window_->layer()->ScheduleDraw(); |
// Add sending an ACK to the list of things to do OnCompositingEnded |
on_compositing_ended_callbacks_.push_back( |
- base::Bind(AcknowledgeSwapBuffers, route_id, gpu_host_id)); |
+ base::Bind(AcknowledgeSwapBuffers, params.route_id, gpu_host_id)); |
ui::Compositor* compositor = window_->layer()->GetCompositor(); |
if (!compositor->HasObserver(this)) |
compositor->AddObserver(this); |
} |
+#else |
+ NOTREACHED(); |
+#endif |
} |
+#if defined(UI_COMPOSITOR_IMAGE_TRANSPORT) |
+void RenderWidgetHostViewAura::AcceleratedSurfaceNew( |
+ int32 width, |
+ int32 height, |
+ uint64* surface_id, |
+ TransportDIB::Handle* surface_handle) { |
+ scoped_refptr<AcceleratedSurfaceContainerLinux> surface( |
+ AcceleratedSurfaceContainerLinux::Create(gfx::Size(width, height))); |
+ if (!surface->Initialize(surface_id)) { |
+ LOG(ERROR) << "Failed to create AcceleratedSurfaceContainer"; |
+ return; |
+ } |
+ *surface_handle = surface->Handle(); |
+ |
+ accelerated_surface_containers_[*surface_id] = surface; |
+} |
+ |
void RenderWidgetHostViewAura::AcceleratedSurfaceRelease(uint64 surface_id) { |
accelerated_surface_containers_.erase(surface_id); |
} |