Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / views / controls / menu / menu_host_root_view.cc
index a46b81b..1bc834a 100644 (file)
@@ -55,21 +55,15 @@ bool MenuHostRootView::OnMouseWheel(const ui::MouseWheelEvent& event) {
       GetMenuController()->OnMouseWheel(submenu_, event);
 }
 
-ui::EventDispatchDetails MenuHostRootView::OnEventFromSource(ui::Event* event) {
-  ui::EventDispatchDetails result = RootView::OnEventFromSource(event);
-
-  if (event->IsGestureEvent()) {
-    ui::GestureEvent* gesture_event = event->AsGestureEvent();
-    if (gesture_event->handled())
-      return result;
-    // ChromeOS uses MenuController to forward events like other
-    // mouse events.
-    if (!GetMenuController())
-      return result;
-    GetMenuController()->OnGestureEvent(submenu_, gesture_event);
-  }
-
-  return result;
+void MenuHostRootView::OnEventProcessingFinished(ui::Event* event) {
+  RootView::OnEventProcessingFinished(event);
+
+  // Forward unhandled gesture events to our menu controller.
+  // TODO(tdanderson): Investigate whether this should be moved into a
+  //                   post-target handler installed on |this| instead
+  //                   (invoked only if event->target() == this).
+  if (event->IsGestureEvent() && !event->handled() && GetMenuController())
+    GetMenuController()->OnGestureEvent(submenu_, event->AsGestureEvent());
 }
 
 MenuController* MenuHostRootView::GetMenuController() {