Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| index d09b0e62d43c3f52b3962cd2eda2cc0bcc47cd80..59264fab6c0689be5cd36545e18ad8cc687e3e78 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| @@ -893,7 +893,30 @@ void RenderWidgetHostViewMac::AcceleratedSurfaceBuffersSwapped( |
| void RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer( |
| const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params, |
| int gpu_host_id) { |
| - NOTIMPLEMENTED(); |
| + TRACE_EVENT0("browser", |
| + "RenderWidgetHostViewMac::AcceleratedSurfacePostSubBuffer"); |
| + CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| + AcceleratedPluginView* view = ViewForPluginWindowHandle(params.window); |
| +j DCHECK(view); |
|
apatrick_chromium
2011/12/05 22:42:45
j at beginning of line
jonathan.backer
2011/12/06 18:29:31
<whine> I want focus follows mouse on OSX </whine>
|
| + if (view) { |
| + last_frame_was_accelerated_ = (params.window == |
| + plugin_container_manager_.root_container_handle()); |
| + plugin_container_manager_.SetSurfaceWasPaintedTo(params.window, |
| + params.surface_id, |
| + params.x, |
| + params.y, |
| + params.width, |
| + params.height); |
| + |
| + // The surface is hidden until its first paint, to not show gargabe. |
|
apatrick_chromium
2011/12/05 22:42:45
gargabe -> garbage
jonathan.backer
2011/12/06 18:29:31
Done.
|
| + if (plugin_container_manager_.SurfaceShouldBeVisible(params.window)) |
| + [view setHidden:NO]; |
| + [view drawView]; |
| + } |
| + |
| + if (params.route_id != 0) { |
| + RenderWidgetHost::AcknowledgePostSubBuffer(params.route_id, gpu_host_id); |
| + } |
| } |
| void RenderWidgetHostViewMac::UpdateRootGpuViewVisibility( |