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

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

Issue 2876203003: Make shelf item can be dragged when context menu is opened.
Patch Set: TransferEvents only if it is needed. 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..bb9ed0e1550a2a584223839d91a653ac7850f825 100644
--- a/ui/views/controls/menu/menu_controller.cc
+++ b/ui/views/controls/menu/menu_controller.cc
@@ -401,6 +401,7 @@ MenuController::State::~State() {}
// static
MenuController* MenuController::active_instance_ = NULL;
+bool MenuController::do_cancel_ = true;
// static
MenuController* MenuController::GetActiveInstance() {
@@ -820,9 +821,16 @@ 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 (!DoCancel()) {
+ event->ConvertLocationToTarget(source->GetWidget()->GetNativeWindow(),
+ owner()->GetNativeWindow());
+ owner()->OnGestureEvent(event);
+ }
}
void MenuController::OnTouchEvent(SubmenuView* source, ui::TouchEvent* event) {

Powered by Google App Engine
This is Rietveld 408576698