OOPIF: Fix window.open to work from frames with remote parent.
This CL addresses these remaining issues with that scenario:
1. WebContentsImpl::CreateNewWindow kills a renderer opening a new
window if the renderer's process doesn't match the process for
WebContents' main frame. This CL modifies this check to instead
look at all renderer processes under the current WebContents.
2. The popup was getting created in the wrong SiteInstance,
always using the SiteInstance of the WebContents' main frame rather
than the SiteInstance of the source frame. This CL fixes this by
plumbing the source frame's SiteInstance into
WebContentsImpl::CreateNewWindow.
3. Once created, the popup wasn't being shown. This is because the
message to show it (ViewHostMsg_ShowView) is sent via the opener's
RenderView, which in this case is swapped out. This caused
RenderViewHostImpl::OnShowView to exit early because it checked
is_active_. To fix this, this CL removes this check from ShowView.
Eventually, this IPC should be moved to RenderFrameHost.
BUG=463949,225940
Review URL: https://codereview.chromium.org/
1224363002
Cr-Commit-Position: refs/heads/master@{#338949}