* Electron version: 1.7.1
* Operating system: MacOS

### Expected behavior

The popup should have `window.opener` set

### Actual behavior

I was using native `window.open` in sandbox mode until this PR was merged : https://github.com/electron/electron/pull/8963

I switched to non-sandbox mode using the version 1.7.1 and what happen is that, if your main app is embedded in an iframe and if it open a new window using `window.open`, the new window won't have `window.opener` set

If I load the same app directly in the main window and not using the iframe, it is working as expected

I am using the code from https://github.com/electron/electron/blob/master/docs/api/window-open.md

### How to reproduce

In the main window load in an iframe your app.

In the app open a popup with `window.open`

The new popup does not have `window.opener` set
atom/browser/atom_browser_client.cc
}
content::WebContents* AtomBrowserClient::GetWebContentsFromProcessID(
    int process_id) {
  
  
  if (base::ContainsKey(pending_processes_, process_id))
    return pending_processes_[process_id];
  
  
  return WebContentsPreferences::GetWebContentsFromProcessID(process_id);
}
bool AtomBrowserClient::ShouldCreateNewSiteInstance(
    content::RenderFrameHost* render_frame_host,
    content::BrowserContext* browser_context,
    content::SiteInstance* current_instance,
    const GURL& url) {
  if (url.SchemeIs(url::kJavaScriptScheme))
    
    return false;
  int process_id = current_instance->GetProcess()->GetID();
  if (!IsRendererSandboxed(process_id)) {
    if (!RendererUsesNativeWindowOpen(process_id)) {
      
      
      return true;
    }
    auto web_contents =
        content::WebContents::FromRenderFrameHost(render_frame_host);
    if (!ChildWebContentsTracker::IsChildWebContents(web_contents)) {