| 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 ea99f0a7a1ea63ba6044a3607a9eca7b592b6e2b..9ea6131a081f5058ab0a7f41c2798a794920a5b4 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_win.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_win.cc
|
| @@ -412,7 +412,8 @@ RenderWidgetHostViewWin::RenderWidgetHostViewWin(RenderWidgetHost* widget)
|
| last_touch_location_(-1, -1),
|
| touch_events_enabled_(false),
|
| ALLOW_THIS_IN_INITIALIZER_LIST(
|
| - gesture_recognizer_(ui::GestureRecognizer::Create(this))) {
|
| + gesture_recognizer_(ui::GestureRecognizer::Create(this))),
|
| + has_valid_long_press_gesture_(false) {
|
| render_widget_host_->SetView(this);
|
| registrar_.Add(this,
|
| NOTIFICATION_RENDERER_PROCESS_TERMINATED,
|
| @@ -1740,6 +1741,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
|
| + // removed from screen.
|
| + if (message == WM_LBUTTONUP || message == WM_RBUTTONUP)
|
| + has_valid_long_press_gesture_ = false;
|
| +
|
| if (message == WM_MOUSELEAVE)
|
| ignore_mouse_movement_ = true;
|
|
|
| @@ -2817,6 +2824,10 @@ bool RenderWidgetHostViewWin::ForwardGestureEventToRenderer(
|
| CreateFlingCancelEvent(gesture->time_stamp().InSecondsF()));
|
| }
|
| render_widget_host_->ForwardGestureEvent(web_gesture);
|
| +
|
| + if (web_gesture.type == WebKit::WebGestureEvent::GestureLongPress)
|
| + has_valid_long_press_gesture_ = true;
|
| +
|
| return true;
|
| }
|
|
|
|
|