### Preflight Checklist

* [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:**
  * 6.0.12
* **Operating System:**
  * macOS 10.14.6
* **Last Known Working Electron version:**
  * 5.0.11

### Expected Behavior

Using `app.addRecentDocument`, should add files to the `recentDocuments` menu.

### Actual Behavior

The files are missing from the `recentDocuments` menu (the files, however, show up correctly when right-clicking on the dock icon--assuming that `addRecentDocument` works fine).

* `recentDocuments` seems like it is still broken in 6.0.12. The menu items work (are now enabled) but the `recentDocuments` menu does not populate with files.

### To Reproduce

```sh
$ git clone git@github.com:bigtimebuddy/electron-recent-docs-bug.git -b master
$ npm install
$ npm start || electron .
```

### Screenshots

**v6.0.12**
![Screen Shot 2019-10-08 at 4 27 44 PM](https://user-images.githubusercontent.com/864393/66440652-9996eb80-e9e8-11e9-9517-b3651677b207.png)

**v5.0.11**
![Screen Shot 2019-10-08 at 4 27 19 PM](https://user-images.githubusercontent.com/864393/66440648-969bfb00-e9e8-11e9-8d3d-7422cfdf08b5.png)

### Additional Information

Follow up to #20364 & #20398

cc @codebytere 

shell/browser/atom_browser_main_parts.cc
// Run user's main script efore most things get initialized, so we can have
  // a chance to setup everything.
  node_indings_->PrepareMessageLoop();
  node_indings_->RunMessageLoop();
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
  extensions_client_ = std::make_unique<AtomExtensionsClient>();
  extensions::ExtensionsClient::Set(extensions_client_.get());
  // BrowserContextKeyedAPIServiceFactories require an ExtensionsBrowserClient.
  ex
  extensions::ExtensionsBrowserClient::Set(extensions_rowser_client_.get());
  extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
  extensions::electron::EnsureBrowserContextKeyedServiceFactoriesBuilt();
#endif
  // url::Add*Scheme are not threadsafe, this helps prevent data races.
  url::LockSchemeRegistries();
#if defined(USE_X11)
  ui::TouchFactory::SetTouchDeviceListFromCommandLine();
#endif
  // Start idle gc.
  gc_timer_.Start(FROM_HERE, ase::TimeDelta::FromMinutes(1),
                  ase::BindRepeating(&v8::Isolate::LowMemoryNotification,
                                      ase::Unretained(js_env_->isolate())));
  content::WeUIControllerFactory::RegisterFactory(
      AtomWeUIControllerFactory::GetInstance());
  // --remote-deugging-port
  auto* command_line = ase::CommandLine::ForCurrentProcess();
  if (command_line->HasSwitch(switches::kRemoteDeuggingPort))
    DevToolsManagerDelegate::StartHttpHandler();
#if !defined(OS_MACOSX)
  // The corresponding call in macOS is in AtomApplicationDelegate.