| Index: content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc
 | 
| diff --git a/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc b/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc
 | 
| index a5ffc019ad91b39128190cafc9384d7c20fce670..b44e98789b5ef72ed2e138ca1c456e4745edf95e 100644
 | 
| --- a/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc
 | 
| +++ b/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc
 | 
| @@ -44,12 +44,20 @@ bool TouchscreenTapSuppressionController::FilterTapEvent(
 | 
|        stashed_show_press_.reset(new GestureEventWithLatencyInfo(event));
 | 
|        return true;
 | 
|  
 | 
| +    case WebInputEvent::GestureLongPress:
 | 
| +      if (!stashed_tap_down_)
 | 
| +        return false;
 | 
| +      stashed_long_press_.reset(new GestureEventWithLatencyInfo(event));
 | 
| +      return true;
 | 
| +
 | 
|      case WebInputEvent::GestureTapUnconfirmed:
 | 
|        return !!stashed_tap_down_;
 | 
|  
 | 
|      case WebInputEvent::GestureTapCancel:
 | 
|      case WebInputEvent::GestureTap:
 | 
|      case WebInputEvent::GestureDoubleTap:
 | 
| +    case WebInputEvent::GestureLongTap:
 | 
| +    case WebInputEvent::GestureTwoFingerTap:
 | 
|        return controller_.ShouldSuppressTapEnd();
 | 
|  
 | 
|      default:
 | 
| @@ -61,15 +69,27 @@ bool TouchscreenTapSuppressionController::FilterTapEvent(
 | 
|  void TouchscreenTapSuppressionController::DropStashedTapDown() {
 | 
|    stashed_tap_down_.reset();
 | 
|    stashed_show_press_.reset();
 | 
| +  stashed_long_press_.reset();
 | 
|  }
 | 
|  
 | 
| -void TouchscreenTapSuppressionController::ForwardStashedTapDown() {
 | 
| +void TouchscreenTapSuppressionController::ForwardStashedGestureEvents() {
 | 
|    DCHECK(stashed_tap_down_);
 | 
|    ScopedGestureEvent tap_down = std::move(stashed_tap_down_);
 | 
|    ScopedGestureEvent show_press = std::move(stashed_show_press_);
 | 
| +  ScopedGestureEvent long_press = std::move(stashed_long_press_);
 | 
|    gesture_event_queue_->ForwardGestureEvent(*tap_down);
 | 
|    if (show_press)
 | 
|      gesture_event_queue_->ForwardGestureEvent(*show_press);
 | 
| +  if (long_press)
 | 
| +    gesture_event_queue_->ForwardGestureEvent(*long_press);
 | 
| +}
 | 
| +
 | 
| +void TouchscreenTapSuppressionController::ForwardStashedTapDown() {
 | 
| +  DCHECK(stashed_tap_down_);
 | 
| +  ScopedGestureEvent tap_down = std::move(stashed_tap_down_);
 | 
| +  gesture_event_queue_->ForwardGestureEvent(*tap_down);
 | 
| +  stashed_show_press_.reset();
 | 
| +  stashed_long_press_.reset();
 | 
|  }
 | 
|  
 | 
|  }  // namespace content
 | 
| 
 |