Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Unified Diff: ui/views/controls/menu/menu_controller.cc

Issue 2876203003: Make shelf item can be dragged when context menu is opened.
Patch Set: Fixed comments. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698