Skip to content
  • danakj's avatar
    Use a cc::Display for layout tests. · a40dd448
    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