| Index: content/browser/frame_host/render_widget_host_view_child_frame.cc | 
| diff --git a/content/browser/frame_host/render_widget_host_view_child_frame.cc b/content/browser/frame_host/render_widget_host_view_child_frame.cc | 
| index f0c6f4ff40ae45ab3232a7e7e7b67abba113c904..5f4c0403202b0c7ad98ea480ac1c96ec1effa996 100644 | 
| --- a/content/browser/frame_host/render_widget_host_view_child_frame.cc | 
| +++ b/content/browser/frame_host/render_widget_host_view_child_frame.cc | 
| @@ -203,15 +203,18 @@ void RenderWidgetHostViewChildFrame::RenderProcessGone( | 
| } | 
|  | 
| void RenderWidgetHostViewChildFrame::Destroy() { | 
| +  // SurfaceIdNamespaces registered with RenderWidgetHostInputEventRouter | 
| +  // have already been cleared when RenderWidgetHostViewBase notified its | 
| +  // observers of our impending destruction. | 
| if (frame_connector_) { | 
| frame_connector_->set_view(NULL); | 
| frame_connector_ = NULL; | 
| } | 
|  | 
| -  if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | 
| -    host_->delegate()->GetInputEventRouter()->RemoveSurfaceIdNamespaceOwner( | 
| -        GetSurfaceIdNamespace()); | 
| -  } | 
| +  // We notify our observers about shutdown here since we are about to release | 
| +  // host_ and do not want any event calls coming from | 
| +  // RenderWidgetHostInputEventRouter afterwards. | 
| +  NotifyObserversAboutShutdown(); | 
|  | 
| host_->SetView(NULL); | 
| host_ = NULL; | 
| @@ -363,25 +366,16 @@ uint32_t RenderWidgetHostViewChildFrame::GetSurfaceIdNamespace() { | 
|  | 
| void RenderWidgetHostViewChildFrame::ProcessKeyboardEvent( | 
| const NativeWebKeyboardEvent& event) { | 
| -  if (!host_) | 
| -    return; | 
| - | 
| host_->ForwardKeyboardEvent(event); | 
| } | 
|  | 
| void RenderWidgetHostViewChildFrame::ProcessMouseEvent( | 
| const blink::WebMouseEvent& event) { | 
| -  if (!host_) | 
| -    return; | 
| - | 
| host_->ForwardMouseEvent(event); | 
| } | 
|  | 
| void RenderWidgetHostViewChildFrame::ProcessMouseWheelEvent( | 
| const blink::WebMouseWheelEvent& event) { | 
| -  if (!host_) | 
| -    return; | 
| - | 
| if (event.deltaX != 0 || event.deltaY != 0) | 
| host_->ForwardWheelEvent(event); | 
| } | 
|  |