Introduce Display Compositor mojo interface. Use InProcessContextProvider.
This CL makes a number of changes. I think it's easier to put it all together in a single
CL and easier to review. Here are the notable changes:
1. A new DisplayCompositor mojo interface has been introduced to create
CompositorFrameSinks and to update surface references.
2. Mus-WS code no longer knows about GpuCompositorFrameSink, instead
requesting a CompositorFrameSink from Mus-GPU (still in the same process for now).
3. Mus-WS no longer creates an internal GPU channel as display compositor code is
no longer accessed directly by Mus-WS.
4. Root windows with valid AcceleratedWidgets now create
InProcessContextProviders instead of SurfacesContextProviders (which use a
GpuChannelHost).
5. DirectOutputSurface, and DirectOutputSurfaceOzone no longer use SurfacesContextProvider.
6. SurfacesContextProvider has been deleted.
7. MusGpuCompositorFrameSink moves out of window server code as it's only used
internally by the display compositor.
BUG=610937, 661278
Review-Url: https://codereview.chromium.org/2481263002
Cr-Commit-Position: refs/heads/master@{#433990}
45 files changed