* Electron version: 2.0.0-beta.7
* Operating system: macOS 10.13.4

### Expected behavior

<!-- What do you think should happen? -->
When HTML fullscreen mode is active, exiting fullscreen on the window level (clicking the green button or calling `win.setFullScreen(false)` should also exit HTML fullscreen mode.

### Actual behavior

HTML fullscreen mode stays active. Chrome correctly exits HTML fullscreen mode.

### How to reproduce

Use console in the default_app:

```
document.addEventListener('webkitfullscreenchange', () => console.log('webkitfullscreenchange'));
document.documentElement.webkitRequestFullscreen();
```

now exit fullscreen by clicking the green button or run `require('electron').remote.getCurrentWindow().setFullScreen(false);`

Compare to what happens when you do the same in Chrome/Chromium
`webkitfullscreenchange` should be logged twice (once for enter, once for exit)
`document.webkitFullscreenElement` should also be `null`

Possible workaround is:
```
win.on('leave-full-screen', () => {
  win.webContents.executeJavaScript('document.webkitExitFullscreen();');
});
```

atom/browser/api/atom_api_browser_window.cc
TopLevelWindow::SetBackgroundColor(color_name);
  auto* view = web_contents()->GetRenderWidgetHostView();
  if (view)
    view->SetBackgroundColor(ParseHexColor(color_name));
}
void BrowserWindow::SetBrowserView(v8::Local<v8::Value> value) {
  TopLevelWindow::SetBrowserView(value);
#if defined(OS_MACOSX)
  UpdateDraggableRegions(nullptr, draggable_regions_);
#endif
}
void BrowserWindow::SetVibrancy(mate::Arguments* args) {
  std::string type;
  args->GetNext(&type);
  auto* render_view_host = web_contents()->GetRenderViewHost();
  if (render_view_host) {
    auto* impl = content::RenderWidgetHostImpl::FromID(
        render_view_host->GetProcess()->GetID(),
        render_view_host->GetRoutingID());
    if (impl)
      impl->SetBackgroundOpaque(type.empty() ? !window_->transparent() : false);
  }
  TopLevelWindow::SetVibrancy(args);
}
void BrowserWindow::FocusOnWebView() {