Mac: Enable compositor thread elastic overscroll for main thread events
commitd4ba4790cf1f3ffafb1588b11dc2239af675b1d7
authorccameron <ccameron@chromium.org>
Wed, 17 Dec 2014 07:20:31 +0000 (16 23:20 -0800)
committerCommit bot <commit-bot@chromium.org>
Wed, 17 Dec 2014 07:20:54 +0000 (17 07:20 +0000)
tree32987a2f2a4626e00277dcc2df1a163dd78bcb09
parent6ba6f9a78170f7666bd78be31155cd975cae7e23
Mac: Enable compositor thread elastic overscroll for main thread events

This patch has no effects because the feature is behind a flag.

When an input wheel event is passed to the main thread to be handled,
observe the result of Blink's handleInputEvent, and pass the event and
its result back to the InputScrollElasticityController (aka troll) on
the compositor thread. Do this passing via the InputHandlerManager,
which can reach the InputHandlerProxy for a renderer, and its
InputScrollElasticityController.

For now, construct an artifical scroll result based on whether or not
the event was handled.

Also, fix two bugs that were noticed. First, add the missed
rubber_banding_on_compositor_thread to content::WebPreferences'
IPC. Second, make ScrollElasticityHelper damage the root layer of
the LayerTreeHostImpl, so its frames aren't skipped.

BUG=133097

Review URL: https://codereview.chromium.org/806473002

Cr-Commit-Position: refs/heads/master@{#308754}
cc/input/scroll_elasticity_helper.cc
content/public/common/common_param_traits_macros.h
content/renderer/input/input_handler_manager.cc
content/renderer/input/input_handler_manager.h
content/renderer/input/input_handler_proxy.h
content/renderer/render_widget.cc
content/renderer/render_widget.h