-
danakj authored
This gives a delegating OutputSurface to LayerTreeHost for layout tests, which delegates to an in-process cc::Display instance. It does so using the same code we now use for cc pixel tests, which is the PixelTestDelegatingOutputSurface class. This makes LayoutTests use the same code paths in the renderer compositor that we ship to users! Hooray paying down 3-year-old technical debt. After this, LayerTreeHostImpl will no longer need to use a DirectRenderer ever (modulo WebView). I wanted to keep the Display using a separate ContextProvider from cc, to test texture transport mostly as it exists between the renderer and the out-of-process Display that we ship to users. So the output surface must take a ContextProvider from its creator to allow cc pixel tests to use in-process GL, and layout tests to use out-of-process GL. So the LayoutTestDependenciesImpl creates a ContextProviderCommandBuffer for the cc::Display to use, keeping the smallest code footprint possible inside RenderThreadImpl. TODO(danakj): Delete GLFrameData, MailboxOutputSurface, mailbox support in GLRenderer, etc. R=piman@chromium.org, sievers BUG=311404 Review-Url: https://codereview.chromium.org/2075343003 Cr-Commit-Position: refs/heads/master@{#402360}
a40dd448