Chromium Code Reviews| Index: content/renderer/mus/render_widget_mus_connection.cc |
| diff --git a/content/renderer/mus/render_widget_mus_connection.cc b/content/renderer/mus/render_widget_mus_connection.cc |
| index d1821e8bac0acd3a2cc2f58f24cd5d15ba45ce86..14c3f8dd117e1d493328e734621e23d25beeb43a 100644 |
| --- a/content/renderer/mus/render_widget_mus_connection.cc |
| +++ b/content/renderer/mus/render_widget_mus_connection.cc |
| @@ -9,6 +9,7 @@ |
| #include "base/lazy_instance.h" |
| #include "base/macros.h" |
| #include "components/mus/public/cpp/context_provider.h" |
| +#include "components/mus/public/cpp/gpu_service.h" |
| #include "components/mus/public/cpp/output_surface.h" |
| #include "components/mus/public/interfaces/command_buffer.mojom.h" |
| #include "components/mus/public/interfaces/compositor_frame.mojom.h" |
| @@ -49,13 +50,20 @@ std::unique_ptr<cc::OutputSurface> |
| RenderWidgetMusConnection::CreateOutputSurface() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| DCHECK(!window_surface_binding_); |
| - mus::mojom::GpuPtr gpu_service; |
| - MojoShellConnection::Get()->GetConnector()->ConnectToInterface("mojo:mus", |
| - &gpu_service); |
| - mus::mojom::CommandBufferPtr cb; |
| - gpu_service->CreateOffscreenGLES2Context(GetProxy(&cb)); |
| + mojo::ScopedMessagePipeHandle scoped_handle; |
| + if (mus::GpuService::UseChromeGpuCommandBuffer()) { |
|
piman
2016/05/25 22:53:17
did you mean !mus::GpuService::UseChromeGpuCommand
Peng
2016/05/31 14:24:04
Done.
|
| + mus::mojom::GpuPtr gpu_service; |
| + MojoShellConnection::Get()->GetConnector()->ConnectToInterface( |
| + "mojo:mus", &gpu_service); |
| + mus::mojom::CommandBufferPtr cb; |
| + gpu_service->CreateOffscreenGLES2Context(GetProxy(&cb)); |
| + scoped_handle = cb.PassInterface().PassHandle(); |
| + } else { |
| + mus::GpuService::Initialize(MojoShellConnection::Get()->GetConnector()); |
| + } |
| scoped_refptr<cc::ContextProvider> context_provider( |
| - new mus::ContextProvider(cb.PassInterface().PassHandle())); |
| + new mus::ContextProvider(std::move(scoped_handle))); |
| + |
| std::unique_ptr<cc::OutputSurface> surface(new mus::OutputSurface( |
| context_provider, mus::WindowSurface::Create(&window_surface_binding_))); |
| if (compositor_mus_connection_) { |