Chromium Code Reviews| 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 f1399a0e6f60b48959eaeb742024fa394f5a9c95..cd8049ab4f40b5f97fdd0a0fb0a9c6a21bdf044c 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() { |
| + // SurfaceIdNames registered with RenderWidgetHostInputEventRouter |
|
kenrb
2016/02/22 17:05:10
nit: s/SurfaceIdNames/SurfaceIdNamespaces
wjmaclean
2016/02/23 13:13:26
Done.
|
| + // 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); |
| } |