function setup (parentWindow) {
  // listen for the basic auth login event
  app.on('login', async function (e, webContents, request, authInfo, cb) {
    e.preventDefault() // default is to cancel the auth; prevent that
    var res = await create(webContents, 'basic-auth', authInfo)
    cb(res.username, res.password)
  })
}
Modal

NOTES
- Modal views are created as-needed, and desroyed when not in use
- Modal views are attached to individual BrowserView instances
- Modal views are shown and hidden based on whether its owning BrowserView is visible