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 |