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

Issue 1138413002: OOPIF: Don't resurrect a dead process just to create proxies. (Closed)

Created:
5 years, 7 months ago by alexmos
Modified:
5 years, 7 months ago
Reviewers:
nasko
CC:
chromium-reviews, jam, nasko+codewatch_chromium.org, creis+watch_chromium.org, darin-cc_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

OOPIF: Don't resurrect a dead process just to create proxies. This fixes another cause of crashing without a valid parent proxy in RenderFrameProxy::CreateFrameProxy. This occurred when a renderer crashed, and another renderer added a child frame, which triggered a new proxy for that frame to be created for the crashed process. The crashed process was recreated just to create the proxy, and the proxy creation crashed because its parent proxy didn't exist. This CL fixes InitRenderFrameProxy to not recreate a process just to create proxies. The process should only come back if it ever needs to host a RenderFrame, and all the proxies should already be created then. BUG=476846 Committed: https://crrev.com/a3988993743393edd93d1a72ca4cb9454973ab92 Cr-Commit-Position: refs/heads/master@{#329972}

Patch Set 1 #

Patch Set 2 : #

Total comments: 14

Patch Set 3 : Address Nasko's feedback #

Total comments: 5

Patch Set 4 : Return early if process creation failed #

Unified diffs Side-by-side diffs Delta from patch set Stats (+117 lines, -13 lines) Patch
M content/browser/frame_host/render_frame_host_manager.cc View 1 2 3 2 chunks +17 lines, -3 lines 0 comments Download
M content/browser/frame_host/render_frame_proxy_host.cc View 1 2 1 chunk +21 lines, -10 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 1 chunk +79 lines, -0 lines 0 comments Download

Messages

Total messages: 11 (2 generated)
alexmos
Nasko, can you please take a look? https://codereview.chromium.org/1138413002/diff/20001/content/browser/frame_host/render_frame_proxy_host.cc File content/browser/frame_host/render_frame_proxy_host.cc (right): https://codereview.chromium.org/1138413002/diff/20001/content/browser/frame_host/render_frame_proxy_host.cc#newcode147 content/browser/frame_host/render_frame_proxy_host.cc:147: frame_tree_node_->parent()->render_manager()->GetRenderFrameProxyHost( Using ...
5 years, 7 months ago (2015-05-14 17:01:43 UTC) #2
nasko
Thanks for fixing this! The iterative fix didn't make as much sense, so this looks ...
5 years, 7 months ago (2015-05-14 21:26:29 UTC) #3
alexmos
Thanks! Comments addressed, plus one small new question. https://codereview.chromium.org/1138413002/diff/20001/content/browser/frame_host/render_frame_proxy_host.cc File content/browser/frame_host/render_frame_proxy_host.cc (right): https://codereview.chromium.org/1138413002/diff/20001/content/browser/frame_host/render_frame_proxy_host.cc#newcode137 content/browser/frame_host/render_frame_proxy_host.cc:137: // ...
5 years, 7 months ago (2015-05-14 22:02:50 UTC) #4
nasko
https://codereview.chromium.org/1138413002/diff/40001/content/browser/frame_host/render_frame_host_manager.cc File content/browser/frame_host/render_frame_host_manager.cc (right): https://codereview.chromium.org/1138413002/diff/40001/content/browser/frame_host/render_frame_host_manager.cc#newcode1351 content/browser/frame_host/render_frame_host_manager.cc:1351: // process or the old process crashed) have been ...
5 years, 7 months ago (2015-05-14 22:10:53 UTC) #5
alexmos
https://codereview.chromium.org/1138413002/diff/40001/content/browser/frame_host/render_frame_host_manager.cc File content/browser/frame_host/render_frame_host_manager.cc (right): https://codereview.chromium.org/1138413002/diff/40001/content/browser/frame_host/render_frame_host_manager.cc#newcode1351 content/browser/frame_host/render_frame_host_manager.cc:1351: // process or the old process crashed) have been ...
5 years, 7 months ago (2015-05-14 22:54:16 UTC) #6
nasko
LGTM
5 years, 7 months ago (2015-05-14 22:55:47 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1138413002/60001
5 years, 7 months ago (2015-05-14 23:00:49 UTC) #9
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 7 months ago (2015-05-14 23:26:30 UTC) #10
commit-bot: I haz the power
5 years, 7 months ago (2015-05-14 23:27:16 UTC) #11
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/a3988993743393edd93d1a72ca4cb9454973ab92
Cr-Commit-Position: refs/heads/master@{#329972}

Powered by Google App Engine
This is Rietveld 408576698