Don't carry over LatencyInfo across surfaces

The LatencyInfo in a CompositorFrame is supposed to be processed when
that CompositorFrame or a newer one is shown. SetPreviousFrameSurface
carries over the LatencyInfo of the previous surface into the new one.
This means if the previous surface is shown before the new surface,
it will not have any LatencyInfo on it that we can process, and the
delay in processing the LatencyInfo can cause artificial metric
regressions. In order to fix this, don't automatically carry over
LatencyInfo in SetPreviousFrameSurface. Instead, add a method to
SurfaceAllocationGroup that aggregates the LatencyInfo on all surfaces
up to a particular surface.

Bug: 939911
Change-Id: I5deb6c3fd0bd84b47380ba9caf03d4b199ac2813
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1532669
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Commit-Queue: Saman Sami <samans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#643434}
6 files changed