Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 4666171811be133a169cf31da870b7b16c5347fd..52270efde30372ae5beda7ed919f3fee19560e77 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -1890,6 +1890,7 @@ WebStorageNamespace* RenderViewImpl::createSessionStorageNamespace( |
} |
WebKit::WebCompositorOutputSurface* RenderViewImpl::createOutputSurface() { |
+ CommandBufferProxyImpl* proxy = NULL; |
// Explicitly disable antialiasing for the compositor. As of the time of |
// this writing, the only platform that supported antialiasing for the |
// compositor was Mac OS X, because the on-screen OpenGL context creation |
@@ -1904,7 +1905,7 @@ WebKit::WebCompositorOutputSurface* RenderViewImpl::createOutputSurface() { |
attributes.antialias = false; |
attributes.shareResources = true; |
attributes.noAutomaticFlushes = true; |
- WebGraphicsContext3D* context = CreateGraphicsContext3D(attributes); |
+ WebGraphicsContext3D* context = CreateGraphicsContext3D(attributes, &proxy); |
if (!context) |
return NULL; |
@@ -1913,10 +1914,10 @@ WebKit::WebCompositorOutputSurface* RenderViewImpl::createOutputSurface() { |
// In the absence of a software-based delegating renderer, use this |
// stopgap adapter class to present the software renderer output using a |
// 3d context. |
- return new CompositorOutputSurface(routing_id(), NULL, |
+ return new CompositorOutputSurface(routing_id(), NULL, NULL, |
new CompositorSoftwareOutputDeviceGLAdapter(context)); |
} else |
- return new CompositorOutputSurface(routing_id(), context, NULL); |
+ return new CompositorOutputSurface(routing_id(), context, proxy, NULL); |
} |
void RenderViewImpl::didAddMessageToConsole( |
@@ -3877,7 +3878,9 @@ void RenderViewImpl::CheckPreferredSize() { |
} |
WebGraphicsContext3D* RenderViewImpl::CreateGraphicsContext3D( |
- const WebGraphicsContext3D::Attributes& attributes) { |
+ const WebGraphicsContext3D::Attributes& attributes, |
+ CommandBufferProxyImpl** proxy) { |
+ *proxy = NULL; |
if (!webview()) |
return NULL; |
@@ -3906,6 +3909,7 @@ WebGraphicsContext3D* RenderViewImpl::CreateGraphicsContext3D( |
false /* bind generates resources */, |
CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE)) |
return NULL; |
+ *proxy = context->GetCommandBufferProxy(); |
return context.release(); |
} |
} |