Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index dc49b58340b528dbd92c852eec4d5e39384641d1..f82c0d8d00027ba25289982e6e55a114c44e9808 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -952,7 +952,7 @@ void RenderViewImpl::Initialize(RenderViewImplParams* params) { |
main_render_frame_.reset( |
RenderFrameImpl::Create(this, params->main_frame_routing_id)); |
// The main frame WebFrame object is closed by |
- // RenderViewImpl::frameDetached(). |
+ // RenderFrameImpl::frameDetached(). |
webview()->setMainFrame(WebFrame::create(main_render_frame_.get())); |
main_render_frame_->MainWebFrameCreated(webview()->mainFrame()); |
@@ -3081,6 +3081,10 @@ void RenderViewImpl::didDisownOpener(blink::WebFrame* frame) { |
} |
void RenderViewImpl::frameDetached(WebFrame* frame) { |
+ // NOTE: We may get here for either the main frame or for subframes. The |
+ // RenderFrameImpl will be deleted immediately after this call for subframes |
+ // but not for the main frame, which is kept around in a scoped_ptr. |
+ |
FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameDetached(frame)); |
} |