* 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.h
#ifndef ATOM_BROWSER_API_ATOM_API_BROWSER_WINDOW_H_
#define ATOM_BROWSER_API_ATOM_API_BROWSER_WINDOW_H_
#include <string>
#include <vector>
#include "atom/browser/api/atom_api_top_level_window.h"
#include "atom/browser/api/atom_api_web_contents.h"
#include "base/cancelable_callback.h"
namespace atom {
namespace api {
class BrowserWindow : public TopLevelWindow,
                      public content::RenderWidgetHost::InputEventObserver,
                      public content::WebContentsObserver,
                      public ExtendedWebContentsObserver {
 public:
  static mate::WrappableBase* New(mate::Arguments* args);
  static void BuildPrototype(v8::Isolate* isolate,
                             v8::Local<v8::FunctionTemplate> prototype);
  
  static v8::Local<v8::Value> From(v8::Isolate* isolate,
                                   NativeWindow* native_window);
  base::WeakPtr<BrowserWindow> GetWeakPtr() {
    return weak_factory_.GetWeakPtr();
  }
 protected:
  BrowserWindow(v8::Isolate* isolate,
                v8::Local<v8::Object> wrapper,
                const mate::Dictionary& options);
  ~BrowserWindow() override;