Dispatch scroll events in views using EventProcessor and EventTargeter
commit793f4d35f652868836f47256637b33c02f00c410
authortdanderson@google.com <tdanderson@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 9 May 2014 14:31:27 +0000 (9 14:31 +0000)
committertdanderson@google.com <tdanderson@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 9 May 2014 14:31:27 +0000 (9 14:31 +0000)
treea7b39e614d434c8a15552047b6f66ec2bee4ef96
parentabfdf69ed785c3a7ea5ff3aaffffe61c0f51c074
Dispatch scroll events in views using EventProcessor and EventTargeter

Implement more of ViewTargeter so that it can determine
the target of a located event. Currently this
performs point-based targeting only; support for
rect-based targeting will be added in a future change
with the refactoring of gesture event code in views.

Remove the function RootView::DispatchScrollEvent() and
call into EventProcessor::OnEventFromSource() for scroll
events to use the new targeting and dispatch logic.
Unhandled scroll events are converted into mousewheel
events in Widget (our EventSource) and then re-sent
to RootView (our EventProcessor).

BUG=353643
TEST=ViewTargeterTest.ViewTargeterForScrollEvents,ViewTargeterTest.SubtreeShouldBeExploredForEvent,WidgetTest.EventHandlersOnRootView
R=sadrul@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269286 0039d316-1c4b-4281-b951-d872f2087c98
ui/views/view.cc
ui/views/view.h
ui/views/view_targeter.cc
ui/views/view_targeter_unittest.cc [new file with mode: 0644]
ui/views/views.gyp
ui/views/widget/root_view.cc
ui/views/widget/root_view.h
ui/views/widget/root_view_unittest.cc
ui/views/widget/widget.cc
ui/views/widget/widget_unittest.cc