• fsamuel's avatar
    cc: Only add surface ID to embedded_surfaces if fallback does not match · 3ca7863c
    fsamuel authored
    A child surface ID is either a dependency (something the parents wants
    to block its CompositorFrame on and may not exist in the display
    compositor yet) or a reference (it is known to exist in the display
    compositor).
    
    Dependencies are held in CompositorFrameMetadata::embedded_surfaces, and
    references are held in CompositorFrameMetadata::referenced_surfaces.
    
    It was possible for a surface ID to end up in both places if the
    primary and fallback SurfaceInfos in a SurfaceLayer matched. This
    causes issues in an upcoming CL https://codereview.chromium.org/2831213004/
    that "closes" an old fallback surface to receiving new CompositorFrames
    if a new primary surface is being requested by a parent to reduce latency.
    
    BUG=672962, 711948
    CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
    
    Review-Url: https://codereview.chromium.org/2861593002
    Cr-Commit-Position: refs/heads/master@{#469482}
    3ca7863c
surface_layer_impl.h 2.55 KB