| Index: ui/views/view_targeter.cc
|
| diff --git a/ui/views/view_targeter.cc b/ui/views/view_targeter.cc
|
| index 99c28fe78755440bd24d4d3b046198fab9a6d212..a0dcbe0a17cb596b293ce632ed1131f92a0f5b0d 100644
|
| --- a/ui/views/view_targeter.cc
|
| +++ b/ui/views/view_targeter.cc
|
| @@ -39,6 +39,9 @@ ui::EventTarget* ViewTargeter::FindTargetForEvent(ui::EventTarget* root,
|
| *static_cast<ui::ScrollEvent*>(event));
|
| }
|
|
|
| + if (event->IsGestureEvent())
|
| + return FindTargetForGestureEvent(view, *(event->AsGestureEvent()));
|
| +
|
| NOTREACHED() << "ViewTargeter does not yet support this event type.";
|
| return NULL;
|
| }
|
| @@ -46,6 +49,14 @@ ui::EventTarget* ViewTargeter::FindTargetForEvent(ui::EventTarget* root,
|
| ui::EventTarget* ViewTargeter::FindNextBestTarget(
|
| ui::EventTarget* previous_target,
|
| ui::Event* event) {
|
| + if (!previous_target)
|
| + return NULL;
|
| +
|
| + if (event->IsGestureEvent()) {
|
| + return FindNextBestTargetForGestureEvent(previous_target,
|
| + *(event->AsGestureEvent()));
|
| + }
|
| +
|
| return previous_target->GetParentTarget();
|
| }
|
|
|
| @@ -75,4 +86,22 @@ View* ViewTargeter::FindTargetForScrollEvent(View* root,
|
| return root->GetEffectiveViewTargeter()->TargetForRect(root, rect);
|
| }
|
|
|
| +View* ViewTargeter::FindTargetForGestureEvent(View* root,
|
| + const ui::GestureEvent& gesture) {
|
| + // TODO(tdanderson): The only code path that performs targeting for gestures
|
| + // uses the ViewTargeter installed on the RootView (i.e.,
|
| + // a RootViewTargeter). Provide a default implementation
|
| + // here if we need to be able to perform gesture targeting
|
| + // starting at an arbitrary node in a Views tree.
|
| + NOTREACHED();
|
| + return NULL;
|
| +}
|
| +
|
| +ui::EventTarget* ViewTargeter::FindNextBestTargetForGestureEvent(
|
| + ui::EventTarget* previous_target,
|
| + const ui::GestureEvent& gesture) {
|
| + NOTREACHED();
|
| + return NULL;
|
| +}
|
| +
|
| } // namespace views
|
|
|