<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:** 5.0.0-beta.8
* **Operating System:** macOS 10.13.6
* **Last Known Working Electron version:**: 4.1.4

### Expected Behavior
<!-- A clear and concise description of what you expected to happen. -->

The file name should be shown in the save dialog, as it is in Electron 4:

<img width="798" src="https://user-images.githubusercontent.com/10314059/55932619-0f63fb00-5bf0-11e9-852e-7c9ecf22ed70.png">

### Actual Behavior
<!-- A clear and concise description of what actually happened. -->

No file name is shown:

<img width="797" src="https://user-images.githubusercontent.com/10314059/55932632-1985f980-5bf0-11e9-99f7-bb058a0a0134.png">

(Also, the dialog is attached to the window in Electron 5 but not 4, I'm not sure whether that's expected or not).

### To Reproduce

Create a link to a download in `index.html`:

```
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
  </head>
  <body>
    <a href="https://github.com/electron/electron/releases/download/v5.0.0-beta.8/electron-v5.0.0-beta.8-win32-x64.zip">download link</a>
  </body>
</html>
```
atom/browser/atom_download_manager_delegate.cc
settings.force_detached = offscreen;
    v8::Isolate* isolate = v8::Isolate::GetCurrent();
    atom::util::Promise dialog_promise(isolate);
    auto dialog_callback =
        base::Bind(&AtomDownloadManagerDelegate::OnDownloadSaveDialogDone,
                   base::Unretained(this), download_id, callback);
    file_dialog::ShowSaveDialog(settings, std::move(dialog_promise));
    ignore_result(dialog_promise.Then(dialog_callback));
  } else {
    callback.Run(path, download::DownloadItem::TARGET_DISPOSITION_PROMPT,
                 download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, path,
                 download::DOWNLOAD_INTERRUPT_REASON_NONE);
  }
}
#if defined(MAS_BUILD)
void AtomDownloadManagerDelegate::OnDownloadSaveDialogDone(
    uint32_t download_id,
    const content::DownloadTargetCallback& download_callback,
    bool result,
    const base::FilePath& path,
    const std::string& bookmark)
#else
void AtomDownloadManagerDelegate::OnDownloadSaveDialogDone(
    uint32_t download_id,
    const content::DownloadTargetCallback& download_callback,
    bool result,
    const base::FilePath& path)
#endif
{
  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);