| Index: content/browser/compositor/gpu_process_transport_factory.cc
|
| diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
|
| index 834287cf8ab72d0ae04d03b0314dad9ad8cb7da8..b239a0fc56b285c27aae24db9943e73ccbe7d528 100644
|
| --- a/content/browser/compositor/gpu_process_transport_factory.cc
|
| +++ b/content/browser/compositor/gpu_process_transport_factory.cc
|
| @@ -230,13 +230,27 @@ scoped_ptr<cc::OutputSurface> GpuProcessTransportFactory::CreateOutputSurface(
|
| return surface.PassAs<cc::OutputSurface>();
|
| }
|
|
|
| - scoped_ptr<BrowserCompositorOutputSurface> surface(
|
| - new GpuBrowserCompositorOutputSurface(
|
| - context_provider,
|
| - per_compositor_data_[compositor]->surface_id,
|
| - &output_surface_map_,
|
| - compositor->vsync_manager(),
|
| - CreateOverlayCandidateValidator(compositor->widget())));
|
| + scoped_ptr<BrowserCompositorOutputSurface> surface;
|
| +#if defined(USE_OZONE)
|
| + if (ui::SurfaceFactoryOzone::GetInstance()->CanShowPrimaryPlaneAsOverlay()) {
|
| + surface.reset(new GpuSurfacelessBrowserCompositorOutputSurface(
|
| + context_provider,
|
| + per_compositor_data_[compositor]->surface_id,
|
| + &output_surface_map_,
|
| + compositor->vsync_manager(),
|
| + CreateOverlayCandidateValidator(compositor->widget()),
|
| + GL_RGB8_OES,
|
| + 0));
|
| + }
|
| +#endif
|
| + if (!surface)
|
| + surface.reset(new GpuBrowserCompositorOutputSurface(
|
| + context_provider,
|
| + per_compositor_data_[compositor]->surface_id,
|
| + &output_surface_map_,
|
| + compositor->vsync_manager(),
|
| + CreateOverlayCandidateValidator(compositor->widget())));
|
| +
|
| if (data->reflector.get())
|
| data->reflector->ReattachToOutputSurfaceFromMainThread(surface.get());
|
|
|
|
|