| Index: content/browser/frame_host/cross_process_frame_connector.cc | 
| diff --git a/content/browser/frame_host/cross_process_frame_connector.cc b/content/browser/frame_host/cross_process_frame_connector.cc | 
| index c98f1c41a9dfc85b533965dd275cebac7c24d68a..de0b5d3b2f9d0a2f7b52a3da84e594e60136bd11 100644 | 
| --- a/content/browser/frame_host/cross_process_frame_connector.cc | 
| +++ b/content/browser/frame_host/cross_process_frame_connector.cc | 
| @@ -149,6 +149,14 @@ gfx::Point CrossProcessFrameConnector::TransformPointToRootCoordSpace( | 
| return transformed_point; | 
| } | 
|  | 
| +void CrossProcessFrameConnector::ForwardProcessAckedTouchEvent( | 
| +    const TouchEventWithLatencyInfo& touch, | 
| +    InputEventAckState ack_result) { | 
| +  auto main_view = GetRootRenderWidgetHostView(); | 
| +  if (main_view) | 
| +    main_view->ProcessAckedTouchEvent(touch, ack_result); | 
| +} | 
| + | 
| bool CrossProcessFrameConnector::HasFocus() { | 
| RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView(); | 
| if (root_view) | 
| @@ -156,6 +164,12 @@ bool CrossProcessFrameConnector::HasFocus() { | 
| return false; | 
| } | 
|  | 
| +void CrossProcessFrameConnector::FocusRootView() { | 
| +  RenderWidgetHostViewBase* root_view = GetRootRenderWidgetHostView(); | 
| +  if (root_view) | 
| +    root_view->Focus(); | 
| +} | 
| + | 
| void CrossProcessFrameConnector::OnForwardInputEvent( | 
| const blink::WebInputEvent* event) { | 
| if (!view_) | 
| @@ -168,6 +182,10 @@ void CrossProcessFrameConnector::OnForwardInputEvent( | 
| ? manager->GetOuterRenderWidgetHostForKeyboardInput() | 
| : frame_proxy_in_parent_renderer_->GetRenderViewHost()->GetWidget(); | 
|  | 
| +  // TODO(wjmaclean): We should remove these forwarding functions, since they | 
| +  // are directly target using RenderWidgetHostInputEventRouter. But neither | 
| +  // pathway is currently handling gesture events, so that needs to be fixed | 
| +  // in a subsequent CL. | 
| if (blink::WebInputEvent::isKeyboardEventType(event->type)) { | 
| if (!parent_widget->GetLastKeyboardEvent()) | 
| return; | 
|  |