Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index ab5adf84d3975068af5cfec77a0c2d0e45928c25..1d7d6a34eaf763bd3fca554f942bae26b96a6cad 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -949,7 +949,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()); |
@@ -3069,6 +3069,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. |
awong
2013/12/27 21:59:36
nit: kept around in a scoped_ptr -> owned by |main
nasko
2013/12/27 22:14:53
Done.
|
+ |
FOR_EACH_OBSERVER(RenderViewObserver, observers_, FrameDetached(frame)); |
} |