Remove ScheduleAnimation plumbing in WebFrameWidget/WebView/LayerTreeView.

Have ChromeClient go directly to WebWidgetClient instead of through the
WebFrameWidget. The WebFrameWidgetImpl would go either to the compositor
(which always exists) or to WebWidgetClient. The latter path was dead.
Similar in WebViewImpl.

Then when ChromeClient (via plumbing..) would ping the compositor, it
would callback to RenderWidget to say RequestScheduleAnimation() for
single-thread-no-scheduler tests. This would redirect to
WebWidgetClient (empty for RenderWidget) in order to pick up test
overrides.

Instead, ChromeClient goes to WebWidetClient which is RenderWidget (or
test overrides). RenderWidget goes to the compositor.

Then we don't need the callback from the compositor anymore, so remove
it and change tests to watch ScheduleAnimation() as needed directly
instead.

WebLayerTreeView also has an equivalent of ScheduleAnimation() which
would get to the test harness by round-tripping through cc. Instead of
re-routing it, remove that API and have callers go through the
WebWidgetClient to ScheduleAnimation().

R=dcheng@chromium.org
TBR=dcheng for components/

Change-Id: I3c1a5a4c2c6dfc8008067891531b35e5d845b4ba
Bug: 912193
Reviewed-on: https://chromium-review.googlesource.com/c/1369032
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615656}
37 files changed