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

Issue 2628133002: When a proxy is detached, immediately delete its associated provisional frame. (Closed)

Created:
3 years, 11 months ago by alexmos
Modified:
3 years, 11 months ago
Reviewers:
Charlie Reis
CC:
chromium-reviews, nasko+codewatch_chromium.org, mlamouri+watch-content_chromium.org, jam, darin-cc_chromium.org, creis+watch_chromium.org, site-isolation-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

When a proxy is detached, immediately delete the associated provisional frame. This provides an alternate, more robust fix for race conditions in issues 526304 and 568676, avoiding early returns in OnNavigate and didCommitProvisionalLoad when a provisional frame's proxy is detached. Instead, the RenderFrameProxy now tracks a provisional frame that would replace it if it commits, and cleans it up immediately if it gets detached. Likewise, if the provisional frame is destroyed before commit (e.g., if the pending navigation is canceled), it unassigns itself as the proxy's provisional frame. RenderFrameProxy previously maintained frame_routing_id_, which is currently unused, so the new provisional_frame_routing_id_ replaces it. BUG=487872, 526304, 568676, 660622 Review-Url: https://codereview.chromium.org/2628133002 Cr-Commit-Position: refs/heads/master@{#445515} Committed: https://chromium.googlesource.com/chromium/src/+/f076d91e660f7289f0ee4bbda0cd1f89563760f3

Patch Set 1 #

Patch Set 2 : Tweaks #

Patch Set 3 : Remove (hopefully unnecessary) null check #

Total comments: 10

Patch Set 4 : Rebase #

Patch Set 5 : Charlie's nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -67 lines) Patch
M content/browser/site_per_process_browsertest.cc View 1 2 3 2 chunks +4 lines, -9 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 4 chunks +22 lines, -20 lines 0 comments Download
M content/renderer/render_frame_proxy.h View 1 2 3 3 chunks +10 lines, -4 lines 0 comments Download
M content/renderer/render_frame_proxy.cc View 1 2 3 4 chunks +18 lines, -6 lines 0 comments Download
M content/renderer/render_view_browsertest.cc View 1 2 3 3 chunks +18 lines, -28 lines 0 comments Download

Messages

Total messages: 32 (27 generated)
alexmos
Hey Charlie, this is the followup we discussed in https://codereview.chromium.org/2619123002. Let me know what you ...
3 years, 11 months ago (2017-01-13 02:26:54 UTC) #18
Charlie Reis
Thanks, and sorry for the delay! LGTM. https://codereview.chromium.org/2628133002/diff/40001/content/browser/site_per_process_browsertest.cc File content/browser/site_per_process_browsertest.cc (right): https://codereview.chromium.org/2628133002/diff/40001/content/browser/site_per_process_browsertest.cc#newcode6225 content/browser/site_per_process_browsertest.cc:6225: IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, NavigateAboutBlankAndDetach) ...
3 years, 11 months ago (2017-01-18 00:18:42 UTC) #21
alexmos
Thanks, I'm going to land this now that we've branched. https://codereview.chromium.org/2628133002/diff/40001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2628133002/diff/40001/content/renderer/render_frame_impl.cc#newcode3139 ...
3 years, 11 months ago (2017-01-23 22:20:59 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2628133002/80001
3 years, 11 months ago (2017-01-23 22:22:13 UTC) #29
commit-bot: I haz the power
3 years, 11 months ago (2017-01-23 22:28:36 UTC) #32
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/f076d91e660f7289f0ee4bbda0cd...

Powered by Google App Engine
This is Rietveld 408576698