Index: chrome/browser/gpu_process_host.cc |
=================================================================== |
--- chrome/browser/gpu_process_host.cc (revision 54820) |
+++ chrome/browser/gpu_process_host.cc (working copy) |
@@ -10,6 +10,8 @@ |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chrome_thread.h" |
#include "chrome/browser/gpu_process_host_ui_shim.h" |
+#include "chrome/browser/renderer_host/render_view_host.h" |
+#include "chrome/browser/renderer_host/render_widget_host_view.h" |
#include "chrome/common/child_process_logging.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/gpu_messages.h" |
@@ -165,6 +167,11 @@ |
IPC_MESSAGE_HANDLER(GpuHostMsg_SynchronizeReply, OnSynchronizeReply) |
#if defined(OS_LINUX) |
IPC_MESSAGE_HANDLER(GpuHostMsg_GetViewXID, OnGetViewXID) |
+#elif defined(OS_MACOSX) |
+ IPC_MESSAGE_HANDLER(GpuHostMsg_AcceleratedSurfaceSetIOSurface, |
+ OnAcceleratedSurfaceSetIOSurface) |
+ IPC_MESSAGE_HANDLER(GpuHostMsg_AcceleratedSurfaceBuffersSwapped, |
+ OnAcceleratedSurfaceBuffersSwapped) |
#endif |
IPC_MESSAGE_UNHANDLED_ERROR() |
IPC_END_MESSAGE_MAP() |
@@ -195,6 +202,36 @@ |
*xid = 0; |
} |
} |
+ |
+#elif defined(OS_MACOSX) |
+void GpuProcessHost::OnAcceleratedSurfaceSetIOSurface( |
+ const GpuHostMsg_AcceleratedSurfaceSetIOSurface_Params& params) { |
+ RenderViewHost* host = RenderViewHost::FromID(params.renderer_id, |
+ params.render_view_id); |
+ if (!host) |
+ return; |
+ RenderWidgetHostView* view = host->view(); |
+ if (!view) |
+ return; |
+ view->AcceleratedSurfaceSetIOSurface(params.window, |
+ params.width, |
+ params.height, |
+ params.identifier); |
+} |
+ |
+void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped( |
+ int32 renderer_id, |
+ int32 render_view_id, |
+ gfx::PluginWindowHandle window) { |
+ RenderViewHost* host = RenderViewHost::FromID(renderer_id, |
+ render_view_id); |
+ if (!host) |
+ return; |
+ RenderWidgetHostView* view = host->view(); |
+ if (!view) |
+ return; |
+ view->AcceleratedSurfaceBuffersSwapped(window); |
+} |
#endif |
void GpuProcessHost::ReplyToRenderer( |