| Index: ui/views/controls/menu/menu_controller.cc
|
| diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc
|
| index a5ecb7df05c4a3fc1bda4e00ee870b38a24475e9..15e3d0889d3e5779af0dfe7e7590dfe37c5954c4 100644
|
| --- a/ui/views/controls/menu/menu_controller.cc
|
| +++ b/ui/views/controls/menu/menu_controller.cc
|
| @@ -820,9 +820,18 @@ void MenuController::OnGestureEvent(SubmenuView* source,
|
| if (event->stopped_propagation())
|
| return;
|
|
|
| - if (!part.submenu)
|
| + if (part.submenu) {
|
| + part.submenu->OnGestureEvent(event);
|
| return;
|
| - part.submenu->OnGestureEvent(event);
|
| + }
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| + if (owner_needs_gesture_events()) {
|
| + event->ConvertLocationToTarget(source->GetWidget()->GetNativeWindow(),
|
| + owner()->GetNativeWindow());
|
| + owner()->OnGestureEvent(event);
|
| + }
|
| +#endif
|
| }
|
|
|
| void MenuController::OnTouchEvent(SubmenuView* source, ui::TouchEvent* event) {
|
| @@ -1376,27 +1385,8 @@ void MenuController::OnKeyDown(ui::KeyboardCode key_code) {
|
| MenuController::MenuController(bool blocking,
|
| internal::MenuControllerDelegate* delegate)
|
| : blocking_run_(blocking),
|
| - showing_(false),
|
| - exit_type_(EXIT_NONE),
|
| - did_capture_(false),
|
| - result_(NULL),
|
| - accept_event_flags_(0),
|
| - drop_target_(NULL),
|
| - drop_position_(MenuDelegate::DROP_UNKNOWN),
|
| - owner_(NULL),
|
| - possible_drag_(false),
|
| - drag_in_progress_(false),
|
| - did_initiate_drag_(false),
|
| - valid_drop_coordinates_(false),
|
| - last_drop_operation_(MenuDelegate::DROP_UNKNOWN),
|
| - showing_submenu_(false),
|
| active_mouse_view_id_(ViewStorage::GetInstance()->CreateStorageID()),
|
| - hot_button_(nullptr),
|
| - delegate_(delegate),
|
| - is_combobox_(false),
|
| - item_selected_by_touch_(false),
|
| - current_mouse_event_target_(nullptr),
|
| - current_mouse_pressed_state_(0) {
|
| + delegate_(delegate) {
|
| delegate_stack_.push_back(delegate_);
|
| active_instance_ = this;
|
| }
|
|
|