| 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);
|
| }
|
|
|