summaryrefslogtreecommitdiffstats
path: root/content/browser/frame_host/render_frame_proxy_host.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/frame_host/render_frame_proxy_host.cc')
-rw-r--r--content/browser/frame_host/render_frame_proxy_host.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/content/browser/frame_host/render_frame_proxy_host.cc b/content/browser/frame_host/render_frame_proxy_host.cc
index af86c2f..3db9edf 100644
--- a/content/browser/frame_host/render_frame_proxy_host.cc
+++ b/content/browser/frame_host/render_frame_proxy_host.cc
@@ -68,8 +68,14 @@ RenderFrameProxyHost::RenderFrameProxyHost(SiteInstance* site_instance,
}
RenderFrameProxyHost::~RenderFrameProxyHost() {
- if (GetProcess()->HasConnection())
- Send(new FrameMsg_DeleteProxy(routing_id_));
+ if (GetProcess()->HasConnection()) {
+ // TODO(nasko): For now, don't send this IPC for top-level frames, as
+ // the top-level RenderFrame will delete the RenderFrameProxy.
+ // This can be removed once we don't have a swapped out state on
+ // RenderFrame. See https://crbug.com/357747
+ if (!frame_tree_node_->IsMainFrame())
+ Send(new FrameMsg_DeleteProxy(routing_id_));
+ }
GetProcess()->RemoveRoute(routing_id_);
g_routing_id_frame_proxy_map.Get().erase(