Index: content/browser/renderer_host/render_widget_host_view_win.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_win.cc b/content/browser/renderer_host/render_widget_host_view_win.cc |
index 000e53227f216ded50ea6cc3df37b20461f9283b..2c133d7829498b9b941b45439e3e563f1f6ddefd 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_win.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_win.cc |
@@ -410,7 +410,8 @@ RenderWidgetHostViewWin::RenderWidgetHostViewWin(RenderWidgetHost* widget) |
pointer_down_context_(false), |
last_touch_location_(-1, -1), |
touch_events_enabled_(false), |
- gesture_recognizer_(ui::GestureRecognizer::Create(this)) { |
+ gesture_recognizer_(ui::GestureRecognizer::Create(this)), |
+ in_long_press_gesture_(false) { |
render_widget_host_->SetView(this); |
registrar_.Add(this, |
NOTIFICATION_RENDERER_PROCESS_TERMINATED, |
@@ -1746,6 +1747,12 @@ LRESULT RenderWidgetHostViewWin::OnMouseEvent(UINT message, WPARAM wparam, |
TRACE_EVENT0("browser", "RenderWidgetHostViewWin::OnMouseEvent"); |
handled = TRUE; |
+ // Set the long press gesture is invalid once mouse up event is received. |
+ // On Windows, a mouse up event gets triggerred once a touch point is |
dcheng
2013/05/24 01:10:37
Nit: triggered.
Hongbo Min
2013/05/27 14:51:41
Done.
|
+ // removed from screen. |
+ if (message == WM_LBUTTONUP || message == WM_RBUTTONUP) |
dcheng
2013/05/24 01:10:37
Shouldn't this just be WM_RBUTTONUP? Or are there
Hongbo Min
2013/05/27 14:51:41
Only WM_RBUTTONUP is taken into consideration. Don
|
+ in_long_press_gesture_ = false; |
+ |
if (message == WM_MOUSELEAVE) |
ignore_mouse_movement_ = true; |
@@ -2820,6 +2827,10 @@ bool RenderWidgetHostViewWin::ForwardGestureEventToRenderer( |
CreateFlingCancelEvent(gesture->time_stamp().InSecondsF())); |
} |
render_widget_host_->ForwardGestureEvent(web_gesture); |
+ |
+ if (web_gesture.type == WebKit::WebGestureEvent::GestureLongPress) |
+ in_long_press_gesture_ = true; |
+ |
return true; |
} |