diff options
author | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-30 17:23:48 +0000 |
---|---|---|
committer | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-30 17:23:48 +0000 |
commit | 3709232c047180f4ce68ba29319b609cdda168e1 (patch) | |
tree | e8fae63e2ec904983ac89453c94a522280c7b446 /ui/app_list | |
parent | 8ac3cee2fcff59c6ff84fb6581760a1e2468f908 (diff) | |
download | chromium_src-3709232c047180f4ce68ba29319b609cdda168e1.zip chromium_src-3709232c047180f4ce68ba29319b609cdda168e1.tar.gz chromium_src-3709232c047180f4ce68ba29319b609cdda168e1.tar.bz2 |
ash: Save gesture targets in case of nested message loop.
Gesture events could invoke menu which has a nest message loop. New gesture
events could have changed gesture recognizer's touch_id to target map. This
causes failure to deliver the rest of the gestures after coming out of the
nested message loop. Save the gesture targets to ensure the events are
delivered properly.
BUG=170895
TEST=Follow steps in crbug.com/170895 to verify the fix.
And covered with a new RootWindow unit test.
R=sky@chromium.org,sadrul@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12022037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179659 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/app_list')
-rw-r--r-- | ui/app_list/views/app_list_item_view.cc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/ui/app_list/views/app_list_item_view.cc b/ui/app_list/views/app_list_item_view.cc index 3f3de67..e481cb4 100644 --- a/ui/app_list/views/app_list_item_view.cc +++ b/ui/app_list/views/app_list_item_view.cc @@ -336,14 +336,10 @@ void AppListItemView::OnGestureEvent(ui::GestureEvent* event) { SetTouchDragging(true); event->SetHandled(); break; + case ui::ET_GESTURE_LONG_TAP: case ui::ET_GESTURE_END: - if (touch_dragging_) { + if (touch_dragging_) SetTouchDragging(false); - - gfx::Point location(event->location()); - ConvertPointToScreen(this, &location); - ShowContextMenu(location, true); - } break; default: break; |