Send a fake mouse move to update hover for all programmatic scrolls

In order to remove the timer to send the fake mouse move event, we
decide the best place to send the fake mouse move event is at the next
begin frame right after we have seen the programmatic scroll animation
finish.

This CL is working on scrolls happening from JavaScript and all the
other programmatic scrolls.

Bug: 877132
Change-Id: I6fc29691ca81be1b9913de6483a5924b32644063
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1535416
Commit-Queue: Lan Wei <lanwei@chromium.org>
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#653689}
5 files changed