| Index: content/renderer/input/input_handler_wrapper.cc | 
| diff --git a/content/renderer/input/input_handler_wrapper.cc b/content/renderer/input/input_handler_wrapper.cc | 
| index b994f09095060872733be792600614c5c8d1c876..d72cc38eb31666a4dd9b24949a41b3f8db00ec35 100644 | 
| --- a/content/renderer/input/input_handler_wrapper.cc | 
| +++ b/content/renderer/input/input_handler_wrapper.cc | 
| @@ -90,4 +90,22 @@ void InputHandlerWrapper::DidAnimateForInput() { | 
| input_handler_manager_->DidAnimateForInput(); | 
| } | 
|  | 
| +void InputHandlerWrapper::GenerateScrollBeginAndSendToMainThread( | 
| +    const blink::WebGestureEvent& update_event) { | 
| +  DCHECK_EQ(update_event.GetType(), blink::WebInputEvent::kGestureScrollUpdate); | 
| +  blink::WebGestureEvent scroll_begin(update_event); | 
| +  scroll_begin.SetType(blink::WebInputEvent::kGestureScrollBegin); | 
| +  scroll_begin.data.scroll_begin.inertial_phase = | 
| +      update_event.data.scroll_update.inertial_phase; | 
| +  scroll_begin.data.scroll_begin.delta_x_hint = | 
| +      update_event.data.scroll_update.delta_x; | 
| +  scroll_begin.data.scroll_begin.delta_y_hint = | 
| +      update_event.data.scroll_update.delta_y; | 
| +  scroll_begin.data.scroll_begin.delta_hint_units = | 
| +      update_event.data.scroll_update.delta_units; | 
| + | 
| +  DispatchNonBlockingEventToMainThread( | 
| +      ui::WebInputEventTraits::Clone(scroll_begin), ui::LatencyInfo()); | 
| +} | 
| + | 
| }  // namespace content | 
|  |