• Saman Sami's avatar
    Hack for demo screensaver disappearing momentarily after login · 27ac690d
    Saman Sami authored
    There is an existing bug in Chrome OS where the screensaver is told to
    hide even though it's still visible. Before crrev.com/c/1277826 this
    used to only cause a freeze, but since then the screensaver disappears
    altogether. The reason is that during the first 10-20 seconds after
    logging into Chrome OS, there are 30+ renderers spawned in the
    background that don't actually draw anything. These renderers overwhelm
    FrameEvictionManager such that any renderer that goes hidden (e.g. the
    screensaver) will have its surface immediately evicted. This used to
    work fine before because notifying FrameEvictionManager used to happen
    in OnFirstSurfaceActivation as opposed to EmbedSurface, and therefore
    these useless renderers would not interfere with frame eviction. The
    Chrome OS team is worried they won't have a proper fix in time, so for
    the time being implement a behaviour similar to what we had before: only
    report DelegatedFrameHosts to FrameEvictionManager that have seen their
    first surface activation.
    
    Bug: 900373
    Change-Id: Ic98929f8e1c834de2af22aa299805395be6a9072
    Reviewed-on: https://chromium-review.googlesource.com/c/1334590
    Commit-Queue: Saman Sami <samans@chromium.org>
    Reviewed-by: default avatarFady Samuel <fsamuel@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#608041}
    27ac690d
delegated_frame_host.h 9.05 KB