Currently OutputSurface captures two concepts: a thing that accepts CompositorFrames ("CompositorFrameSink") and one or more context providers (things that do GL and I guess now also Vulkan). This makes the fallback paths in RenderWidget::CreateOutputSurface and GpuProcessTransportFactory::CreateOutputSurface pretty hard to grok. Let's split OutputSurface into a CompositorFrameSink and ContextProvider(s).
Comment 1 by danakj@chromium.org
, Apr 22 2016