* 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::RenderFrameHost* render_frame_host,
    content::BrowserContext* browser_context,
    content::SiteInstance* current_instance,
    const GURL& url,
    content::SiteInstance** new_instance) {
  if (g_suppress_renderer_process_restart) {
    g_suppress_renderer_process_restart = false;
    return;
  }
  if (!ShouldCreateNewSiteInstance(render_frame_host, browser_context,
                                   current_instance, url))
    return;
  scoped_refptr<content::SiteInstance> site_instance =
      content::SiteInstance::CreateForURL(browser_context, url);
  *new_instance = site_instance.get();
  
  
  
  content::BrowserThread::PostTask(
      content::BrowserThread::UI, FROM_HERE,
      base::Bind(&Noop, base::RetainedRef(site_instance)));
  
  auto pending_process = (*new_instance)->GetProcess();
  pending_processes_[pending_process->GetID()] =
      content::WebContents::FromRenderFrameHost(render_frame_host);;
  
  pending_process->AddObserver(this);
}
void AtomBrowserClient::AppendExtraCommandLineSwitches(