Index: ui/views/view_targeter.cc |
diff --git a/ui/views/view_targeter.cc b/ui/views/view_targeter.cc |
index a0dcbe0a17cb596b293ce632ed1131f92a0f5b0d..3c5af01909eacd873c1a83b59f52de3af5b128e2 100644 |
--- a/ui/views/view_targeter.cc |
+++ b/ui/views/view_targeter.cc |
@@ -39,8 +39,12 @@ ui::EventTarget* ViewTargeter::FindTargetForEvent(ui::EventTarget* root, |
*static_cast<ui::ScrollEvent*>(event)); |
} |
- if (event->IsGestureEvent()) |
- return FindTargetForGestureEvent(view, *(event->AsGestureEvent())); |
+ if (event->IsGestureEvent()) { |
+ ui::GestureEvent* gesture = event->AsGestureEvent(); |
+ View* gesture_target = FindTargetForGestureEvent(view, *gesture); |
+ root->ConvertEventToTarget(gesture_target, gesture); |
+ return gesture_target; |
+ } |
NOTREACHED() << "ViewTargeter does not yet support this event type."; |
return NULL; |
@@ -53,8 +57,11 @@ ui::EventTarget* ViewTargeter::FindNextBestTarget( |
return NULL; |
if (event->IsGestureEvent()) { |
- return FindNextBestTargetForGestureEvent(previous_target, |
- *(event->AsGestureEvent())); |
+ ui::GestureEvent* gesture = event->AsGestureEvent(); |
+ ui::EventTarget* next_target = |
+ FindNextBestTargetForGestureEvent(previous_target, *gesture); |
+ previous_target->ConvertEventToTarget(next_target, gesture); |
+ return next_target; |
} |
return previous_target->GetParentTarget(); |