Index: ui/aura/root_window.cc |
=================================================================== |
--- ui/aura/root_window.cc (revision 220074) |
+++ ui/aura/root_window.cc (working copy) |
@@ -227,16 +227,11 @@ |
static_cast<aura::Window*>(event.target()), |
static_cast<aura::Window*>(this))); |
} else { |
- const ui::GestureEvent* gesture_event = |
- static_cast<const ui::GestureEvent*>(&event); |
- held_repostable_event_.reset(new ui::GestureEvent( |
- gesture_event->type(), |
- gesture_event->root_location().x(), |
- gesture_event->root_location().y(), |
- gesture_event->flags(), |
- gesture_event->time_stamp(), |
- gesture_event->details(), |
- gesture_event->touch_ids_bitfield())); |
+ held_repostable_event_.reset( |
+ new ui::GestureEvent( |
+ static_cast<const ui::GestureEvent&>(event), |
+ static_cast<aura::Window*>(event.target()), |
+ static_cast<aura::Window*>(this))); |
} |
base::MessageLoop::current()->PostTask( |
FROM_HERE, |
@@ -1033,6 +1028,15 @@ |
Window* new_consumer = GetEventHandlerForPoint(event->root_location()); |
if (new_consumer) { |
+ ui::GestureEvent begin_gesture( |
+ ui::ET_GESTURE_BEGIN, |
+ event->x(), |
+ event->y(), |
+ event->flags(), |
+ event->time_stamp(), |
+ ui::GestureEventDetails(ui::ET_GESTURE_BEGIN, 0, 0), |
+ event->touch_ids_bitfield()); |
+ ProcessEvent(new_consumer, &begin_gesture); |
ProcessEvent(new_consumer, event); |
return event->handled(); |
} |