* 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::RenderProcessHost* host) {
  int process_id = host->GetID();
  pending_processes_.erase(process_id);
  RemoveProcessPreferences(process_id);
}
void AtomBrowserClient::RenderProcessReady(content::RenderProcessHost* host) {
  render_process_host_pids_[host->GetID()] = base::GetProcId(host->GetHandle());
  if (delegate_) {
    static_cast<api::App*>(delegate_)->RenderProcessReady(host);
  }
}
void AtomBrowserClient::RenderProcessExited(content::RenderProcessHost* host,
                                            base::TerminationStatus status,
                                            int exit_code) {
  auto host_pid = render_process_host_pids_.find(host->GetID());
  if (host_pid != render_process_host_pids_.end()) {
    if (delegate_) {
      static_cast<api::App*>(delegate_)->RenderProcessDisconnected(
          host_pid->second);
    }
    render_process_host_pids_.erase(host_pid);
  }
}
}