### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:**
5.0.0
* **Operating System:**
MacOS 10.13.6 / Windows 10
* **Last Known Working Electron version:**:
Electron v2.0.8

### Expected Behavior
Exiting fullscreen content ( ie. A Youtube Video displayed in a iframe ) should return the to app.
### Actual Behavior
Video size shrinks, but screen stays black , see https://cl.ly/f7af08d44619

### To Reproduce
main.js

```
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')

let window = null

// Wait until the app is ready
app.once('ready', () => {
  // Create a new window
  window = new BrowserWindow({
    // Set the initial width to 500px
    width: 600,
    // Set the initial height to 400px
    height: 600,
    // Don't show the window until it's ready, this prevents any white flickering
    show: false,
    webPreferences: {
      webSecurity: false,
      nodeIntegration: true,
      allowRunningInsecureContent: true,
    },
  })

  window.loadURL(url.format({
    pathname: path.join(__dirname, 'index.html'),
    protocol: 'file:',
    slashes: true
  }))

  window.once('ready-to-show', () => {
    window.show()
  })
})

```

index.html

```
<!DOCTYPE html>
<html>
</head>
<body>
  <div>
    <iframe width="560" height="315" src="https://www.youtube.com/embed/eBpxovL0zng" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
    </iframe>
  </div>
  </body>
</html>
```

### Screenshots
Screen recording https://cl.ly/f7af08d44619


atom/browser/api/atom_api_web_contents.cc
return weak_map_id();
}
v8::Local<v8::Value> WebContents::Session(v8::Isolate* isolate) {
  return v8::Local<v8::Value>::New(isolate, session_);
}
content::WebContents* WebContents::HostWebContents() {
  if (!embedder_)
    return nullptr;
  return embedder_->web_contents();
}
void WebContents::SetEmbedder(const WebContents* embedder) {
  if (embedder) {
    NativeWindow* owner_window = nullptr;
    auto* relay = NativeWindowRelay::FromWebContents(embedder->web_contents());
    if (relay) {
      owner_window = relay->GetNativeWindow();
    }
    if (owner_window)
      SetOwnerWindow(owner_window);
    content::RenderWidgetHostView* rwhv =
        web_contents()->GetRenderWidgetHostView();
    if (rwhv) {
      rwhv->Hide();
      rwhv->Show();
    }
  }
}
void WebContents::SetDevToolsWebContents(const WebContents* devtools) {