Commit b6b9436d authored by Kevin Schoedel's avatar Kevin Schoedel Committed by Commit Bot

RenderFrameDeleted should not remove InputEventObserver

WebContentController is a RenderWidgetHost::InputEventObserver in order
to receive acks and generate gestures. RenderFrameCreated and
RenderFrameDeleted have been used to manage this, deriving the
RenderWidgetHost from the given RenderFrameHost. However, deletion
of a RenderFrame does not actually imply deletion of the associated
RenderWidget, so that should not be cause for unregistering the
InputEventObserver.

This does mean that we don't definitely know when a RenderWidgetHost
goes away, but this is safe because ~WebContentController already
checks its validity, and a deleted RenderWidgetHost certainly won't
be calling any observers.

Bug: b/151325287
Test: manual on device
Change-Id: I5085d048dfd2f4ec240e7035d2c2e9d06e598f54
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2218764Reviewed-by: default avatarDaniel Nicoara <dnicoara@chromium.org>
Commit-Queue: Kevin Schoedel <kpschoedel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#772677}
parent e697555c
...@@ -466,15 +466,6 @@ void WebContentController::RenderFrameCreated( ...@@ -466,15 +466,6 @@ void WebContentController::RenderFrameCreated(
void WebContentController::RenderFrameDeleted( void WebContentController::RenderFrameDeleted(
content::RenderFrameHost* render_frame_host) { content::RenderFrameHost* render_frame_host) {
current_render_frame_set_.erase(render_frame_host); current_render_frame_set_.erase(render_frame_host);
// The RenderFrameHost might not have a RenderWidgetHostView.
// TODO(b/150955487): Investigate the conditions for this (renderer process
// crash?) and Render.* relationships and notifications to see whether this
// can be cleaned up (and in particular not potentially retain stale
// |current_render_widget_set_| entries).
content::RenderWidgetHostView* const rwhv = render_frame_host->GetView();
if (rwhv) {
UnregisterRenderWidgetInputObserver(rwhv->GetRenderWidgetHost());
}
} }
void WebContentController::RenderFrameHostChanged( void WebContentController::RenderFrameHostChanged(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment