DescriptionSubframes 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)
|