Index: content/renderer/render_frame_proxy.cc |
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc |
index ae6d699ae739783c76a70f4dcb05fcd246c45949..1523fb7356ad8116068df6344f65f923313efb1b 100644 |
--- a/content/renderer/render_frame_proxy.cc |
+++ b/content/renderer/render_frame_proxy.cc |
@@ -304,9 +304,14 @@ void RenderFrameProxy::OnDidUpdateName(const std::string& name) { |
} |
void RenderFrameProxy::frameDetached() { |
- if (web_frame_->parent()) |
+ if (web_frame_->parent()) { |
web_frame_->parent()->removeChild(web_frame_); |
+ // Let the browser process know this subframe is removed, so that it is |
+ // destroyed in its current process. |
+ Send(new FrameHostMsg_Detach(routing_id_)); |
dcheng
2015/04/06 23:34:18
If there are several proxies for this frame, do th
Charlie Reis
2015/04/07 18:45:56
Sadly yes, but the browser process won't be listen
|
+ } |
+ |
web_frame_->close(); |
delete this; |
} |