| 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; | 
| } | 
|  | 
|  |