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

Issue 1262563003: Subframes in inner WebContents should not create proxies in process of outer WebContents. (Closed)

Created:
5 years, 4 months ago by lazyboy
Modified:
5 years, 4 months ago
Reviewers:
Charlie Reis, lfg
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

Subframes in inner WebContents should not create proxies in process of outer WebContents. In an inner WebContents main frame process, we create a proxy for the outer WebContents. However, we do not need proxies in the outer WebContents for all of the subframes in the inner WebContents. Omitting such proxies fixes issues with subframes inside <webview> when using OOPIFs (under --site-per-process). Previously we'd fail a CHECK(frame_tree_node_->IsMainFrame()) in RFHM::CreateRenderFrameProxy() while creating these proxies: RFHM::CreateRenderFrameProxy() would not find an RVH in the outer delegate's SiteInstance and it would try to create one for this subframe. However, RVH creation is only allowed on main frames. TBR=jam@chromium.org for chromium.fyi.json BUG=500957 Test=Open a <webview> in a chrome app with --site-per-process. Load an <iframe> inside the <webview>. This should work and not crash the browser/ process. Committed: https://crrev.com/9ca4291019ed006cf1c3c696402aa694f3f4652c Cr-Commit-Position: refs/heads/master@{#341455}

Patch Set 1 #

Total comments: 4

Patch Set 2 : address comments + add tests #

Total comments: 5

Patch Set 3 : address comments from Charlie #

Total comments: 2

Patch Set 4 : address comments from lfg@ #

Messages

Total messages: 19 (6 generated)
lazyboy
5 years, 4 months ago (2015-07-28 16:57:07 UTC) #2
Charlie Reis
Thanks. Some nits in the CL description (since "proxy to" is hard to understand): "Subframes ...
5 years, 4 months ago (2015-07-28 22:36:02 UTC) #3
lazyboy
Updated the CL description + added a test that loads nested iframe in <webview>. https://chromiumcodereview.appspot.com/1262563003/diff/1/content/browser/frame_host/render_frame_host_manager.cc ...
5 years, 4 months ago (2015-07-30 19:46:32 UTC) #4
Charlie Reis
Thanks. I can see it makes some of the call sites a bit more complex, ...
5 years, 4 months ago (2015-07-31 18:44:08 UTC) #5
Charlie Reis
Note: Can you get a webview person to review the new test? I'm not as ...
5 years, 4 months ago (2015-07-31 18:45:03 UTC) #6
lazyboy
+lfg for reviewing the newly added <webview> test. https://codereview.chromium.org/1262563003/diff/20001/chrome/test/data/extensions/platform_apps/web_view/shim/child_frame.html File chrome/test/data/extensions/platform_apps/web_view/shim/child_frame.html (right): https://codereview.chromium.org/1262563003/diff/20001/chrome/test/data/extensions/platform_apps/web_view/shim/child_frame.html#newcode7 chrome/test/data/extensions/platform_apps/web_view/shim/child_frame.html:7: <!-- ...
5 years, 4 months ago (2015-07-31 19:21:41 UTC) #8
lfg
lgtm with nit. The test only loads a same-origin iframe, it would be nice to ...
5 years, 4 months ago (2015-07-31 19:35:29 UTC) #9
lazyboy
I've added another test that loads subframes from cross-origin. https://codereview.chromium.org/1262563003/diff/40001/chrome/test/data/extensions/platform_apps/web_view/shim/main.js File chrome/test/data/extensions/platform_apps/web_view/shim/main.js (right): https://codereview.chromium.org/1262563003/diff/40001/chrome/test/data/extensions/platform_apps/web_view/shim/main.js#newcode1340 chrome/test/data/extensions/platform_apps/web_view/shim/main.js:1340: ...
5 years, 4 months ago (2015-07-31 20:36:47 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262563003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262563003/60001
5 years, 4 months ago (2015-08-01 01:05:03 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/84106)
5 years, 4 months ago (2015-08-01 01:13:05 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1262563003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1262563003/60001
5 years, 4 months ago (2015-08-01 02:01:37 UTC) #17
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 4 months ago (2015-08-01 02:06:15 UTC) #18
commit-bot: I haz the power
5 years, 4 months ago (2015-08-01 02:06:45 UTC) #19
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/9ca4291019ed006cf1c3c696402aa694f3f4652c
Cr-Commit-Position: refs/heads/master@{#341455}

Powered by Google App Engine
This is Rietveld 408576698