* 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/browser.cc
for (BrowserObserver& observer : observers_)
    observer.OnAccessibilitySupportChanged();
}
void Browser::RequestLogin(
    LoginHandler* login_handler,
    std::unique_ptr<base::DictionaryValue> request_details) {
  for (BrowserObserver& observer : observers_)
    observer.OnLogin(login_handler, *(request_details.get()));
}
void Browser::NotifyAndShutdown() {
  if (is_shutdown_)
    return;
  bool prevent_default = false;
  for (BrowserObserver& observer : observers_)
    observer.OnWillQuit(&prevent_default);
  if (prevent_default) {
    is_quiting_ = false;
    return;
  }
  Shutdown();
}
bool Browser::HandleBeforeQuit() {