* Electron version: 1.6.2
* Operating system: macOS

### Expected behavior

<!-- What do you think should happen? -->
Exit the entire application.

### Actual behavior

<!-- What actually happens? -->
It remains a window can not close.

### How to reproduce

Use Electron start the following code.

Then `Command+Q`, the app will not be exited, it left a window and it won't be closed.

However, comment the line 47 or line 48 makes the `app.exit(0)` works fine.

```js
const electron = require('electron')
const app = electron.app
const Menu = electron.Menu
const BrowserWindow = electron.BrowserWindow

function createMain () {
    let mainWindow = new BrowserWindow({
        width: 1000,
        height: 800
    })
    mainWindow.loadURL('https://github.com')
}
function createSecond () {
    let secondWindow = new BrowserWindow({
        width: 1000,
        height: 800
    })
    secondWindow.loadURL('https://stackoverflow.com')
}
function createThird() {
    let thirdWindow = new BrowserWindow({
        width: 1000,
        height: 800
    })
    thirdWindow.loadURL('https://google.com')
}
function setupMenu() {
    menu = Menu.buildFromTemplate([
        {
            label: 'Options',
            submenu: [
                {
                    label: 'Exit',
                    accelerator: 'CmdOrCtrl+Q',
                    click: () => app.exit(0)
                }
            ]
        }
    ])
    Menu.setApplicationMenu(menu)
}
app.on('ready', () => {
    createMain();
    createSecond();

    // comment either the following two line makes app.exit(0) work fine
    createThird();
    setupMenu();    
})
```
atom/browser/native_window.cc
int x = -1, y = -1;
  bool center;
  if (options.Get(options::kX, &x) && options.Get(options::kY, &y)) {
    SetPosition(gfx::Point(x, y));
  } else if (options.Get(options::kCenter, &center) && center) {
    Center();
  }
  
  extensions::SizeConstraints size_constraints(GetContentSizeConstraints());
  int min_height = 0, min_width = 0;
  if (options.Get(options::kMinHeight, &min_height) |
      options.Get(options::kMinWidth, &min_width)) {
    size_constraints.set_minimum_size(gfx::Size(min_width, min_height));
  }
  int max_height = INT_MAX, max_width = INT_MAX;
  if (options.Get(options::kMaxHeight, &max_height) |
      options.Get(options::kMaxWidth, &max_width)) {
    size_constraints.set_maximum_size(gfx::Size(max_width, max_height));
  }
  bool use_content_size = false;
  options.Get(options::kUseContentSize, &use_content_size);
  if (use_content_size) {
    SetContentSizeConstraints(size_constraints);
  } else {
    SetSizeConstraints(size_constraints);
  }
#if defined(USE_X11)
  bool resizable;
  if (options.Get(options::kResizable, &resizable)) {