Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2058)

Unified Diff: content/renderer/render_frame_impl.cc

Issue 1886413002: Always swap with a replacement proxy in OnSwapOut. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 29958841fffe598a1847d66da414a6a16353a047..2eb3be8faa668eddb1c8d748c675d406a9dde237 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -1610,6 +1610,15 @@ void RenderFrameImpl::OnSwapOut(
if (is_loading)
proxy->OnDidStartLoading();
+ } else if (!is_main_frame) {
alexmos 2016/04/15 17:05:12 I initially tried to do this for all frames for co
Charlie Reis 2016/04/15 23:20:05 On one hand, there are 400 references to WebView::
alexmos 2016/04/22 05:09:34 Agree with all your concerns, so I'm super-happy t
+ // If there is no proxy, this is the last active frame in this
+ // SiteInstance, and its WebWidget and RenderView will be closed
+ // shortly afterward. The closing of RenderView would eventually detach
+ // this frame along with any other frames in the frame tree, but if this is
+ // a subframe, delete it right away to prevent it from being used after its
+ // WebFrameWidget has been cleared. See https://crbug.com/568836#15 for
+ // details.
+ OnDeleteFrame();
Charlie Reis 2016/04/15 23:20:05 I'm assuming that using OnDeleteFrame() rather tha
nasko 2016/04/18 21:24:26 This method is called by the browser, so in a sens
alexmos 2016/04/22 05:09:34 Likewise, this concern is gone in the latest PS. :
}
// Initialize the WebRemoteFrame with the replication state passed by the

Powered by Google App Engine
This is Rietveld 408576698