diff options
author | nasko <nasko@chromium.org> | 2014-10-16 21:06:00 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-17 04:06:20 +0000 |
commit | 6e5f5510621232a24338c6036ed083d496213aa9 (patch) | |
tree | 0fb04c2c73e3f13d03a096063a3371bcd0e41be8 /content/browser/frame_host | |
parent | 5ccddf94823808b37a2179e3b3e2fd6f8a0f5286 (diff) | |
download | chromium_src-6e5f5510621232a24338c6036ed083d496213aa9.zip chromium_src-6e5f5510621232a24338c6036ed083d496213aa9.tar.gz chromium_src-6e5f5510621232a24338c6036ed083d496213aa9.tar.bz2 |
Detach RemoteFrame from the tree when deleting RenderFrameProxy.
BUG=414675
Review URL: https://codereview.chromium.org/660093003
Cr-Commit-Position: refs/heads/master@{#300057}
Diffstat (limited to 'content/browser/frame_host')
-rw-r--r-- | content/browser/frame_host/render_frame_proxy_host.cc | 10 |
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( |