Wheel-based scroll updates should generate gpu swap latency histograms

Currently, on both main and impl thread scrolling, if an in-progress
scroll animation is updated in response to the GestureScrollUpdate,
we do not get a TimeToScrollUpdateSwapBegin4 histogram value.

This is due to the fact that we don't notify the
LatencyInfoSwapPromiseMonitor while the input event is being handled,
since only the scroll animation target is updated. This change adds
calls that triggers the appropriate notifications so that the swap
promises eventually trigger such that the LatencyInfo objects get
shipped off with the CompositorFrame at a later point in time.

Added to an existing layer_tree_host_impl unittest to verify we
get the swap promise monitor notification when updating an animation.
The main thread case was not as easily unit tested, so expanding
and existing scroll wheel test in content_browsertests to perform
multiple wheel-based scroll gestures and verify we see the appropriate
histograms emitted.

R=bokan@chromium.org, nzolghadr@chromium.org, tdresser@chromium.org

Bug: 923498
Change-Id: Ia211800f96c304cdfebf2599e310e2bea8500d96
Reviewed-on: https://chromium-review.googlesource.com/c/1476208
Commit-Queue: Daniel Libby <dlibby@microsoft.com>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Timothy Dresser <tdresser@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636555}
15 files changed