| 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_));
|
| + }
|
| +
|
| web_frame_->close();
|
| delete this;
|
| }
|
|
|