* 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
api_web_contents_->RemoveObserver(this);
  
  
  if (web_contents())
    Cleanup();
}
void BrowserWindow::OnInputEvent(const blink::WebInputEvent& event) {
  switch (event.GetType()) {
    case blink::WebInputEvent::kGestureScrollBegin:
    case blink::WebInputEvent::kGestureScrollUpdate:
    case blink::WebInputEvent::kGestureScrollEnd:
      Emit("scroll-touch-edge");
      break;
    default:
      break;
  }
}
void BrowserWindow::RenderViewHostChanged(content::RenderViewHost* old_host,
                                          content::RenderViewHost* new_host) {
  if (old_host)
    old_host->GetWidget()->RemoveInputEventObserver(this);
  if (new_host)
    new_host->GetWidget()->AddInputEventObserver(this);
}
void BrowserWindow::RenderViewCreated(