### 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:**
  * `9.0.0-beta.1` -- terminates silently
  * `9.0.0-beta.3` -- terminates silently
  * master (`10.0.0-nightly.20200225`) -- crashes with `[448015:0227/160341.082069:FATAL:dependency_manager.cc(144)] Check failed: false. Attempted to access a context that was ShutDown()`
* **Operating System:**
  * Arch Linux current
* **Last Known Working Electron version:**
  * 8.0.2

### Expected Behavior
I don't expect `session.fromPartition()` to terminate or crash the app.
I expect that I will be able to use that session later.
Note that attempting to use the returned session does not prevent the crash/termination.

### Actual Behavior
The app terminates in 9.0.0-beta.* and crashes on master.

Crash log:
```
[449023:0227/160822.369119:FATAL:dependency_manager.cc(144)] Check failed: false. Attempted to access a context that was ShutDown(). This is most likely a heap smasher in progress. After KeyedService::Shutdown() completes, your service MUST NOT refer to depended services again.
#0 0x561dae402699 base::debug::CollectStackTrace()
#1 0x561dae32b223 base::debug::StackTrace::StackTrace()
#2 0x561dae3412a4 logging::LogMessage::~LogMessage()
#3 0x561daf440189 DependencyManager::AssertContextWasntDestroyed()
#4 0x561daf43f98c KeyedServiceBaseFactory::AssertContextWasntDestroyed()
#5 0x561db29d3adb BrowserContextKeyedServiceFactory::GetContextToUse()
#6 0x561daf441280 KeyedServiceFactory::GetServiceForContext()
#7 0x561dae031d95 extensions::BrowserContextKeyedAPIFactory<>::BuildServiceInstanceFor()
#8 0x561db29d3a45 BrowserContextKeyedServiceFactory::BuildServiceInstanceFor()
#9 0x561daf44131a KeyedServiceFactory::GetServiceForContext()
#10 0x561daf43fea9 DependencyManager::CreateContextServices()
#11 0x561db29d3727 BrowserContextDependencyManager::DoCreateBrowserContextServices()
#12 0x561daac4b583 electron::ElectronBrowserContext::ElectronBrowserContext()
#13 0x561daac4cddc electron::ElectronBrowserContext::From()
#14 0x561daabe645f electron::api::Session::FromPartition()
#15 0x561daabe8609 (anonymous namespace)::FromPartition()
#16 0x561daabe88b7 gin_helper::Invoker<>::DispatchToCallback<>()
#17 0x561daabe87ab gin_helper::Dispatcher<>::DispatchToCallback()
#18 0x561dabe90a30 v8::internal::FunctionCallbackArguments::Call()
#19 0x561dabe8f0d1 v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#20 0x561dabe8d0da v8::internal::Builtin_Impl_HandleApiCall()
#21 0x561dabe8cb89 v8::internal::Builtin_HandleApiCall()
#22 0x561dace0c03f Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit

Received signal 6
#0 0x561dae402699 base::debug::CollectStackTrace()
#1 0x561dae32b223 base::debug::StackTrace::StackTrace()
#2 0x561dae4021b0 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7f306a24c800 (/usr/lib/libpthread-2.31.so+0x147ff)
#4 0x7f3068c27ce5 __GI_raise
#5 0x7f3068c11857 __GI_abort
#6 0x561dae400f65 base::debug::BreakDebugger()
#7 0x561dae34174e logging::LogMessage::~LogMessage()
#8 0x561daf440189 DependencyManager::AssertContextWasntDestroyed()
#9 0x561daf43f98c KeyedServiceBaseFactory::AssertContextWasntDestroyed()
#10 0x561db29d3adb BrowserContextKeyedServiceFactory::GetContextToUse()
#11 0x561daf441280 KeyedServiceFactory::GetServiceForContext()
#12 0x561dae031d95 extensions::BrowserContextKeyedAPIFactory<>::BuildServiceInstanceFor()
#13 0x561db29d3a45 BrowserContextKeyedServiceFactory::BuildServiceInstanceFor()
#14 0x561daf44131a KeyedServiceFactory::GetServiceForContext()
#15 0x561daf43fea9 DependencyManager::CreateContextServices()
#16 0x561db29d3727 BrowserContextDependencyManager::DoCreateBrowserContextServices()
#17 0x561daac4b583 electron::ElectronBrowserContext::ElectronBrowserContext()
#18 0x561daac4cddc electron::ElectronBrowserContext::From()
#19 0x561daabe645f electron::api::Session::FromPartition()
#20 0x561daabe8609 (anonymous namespace)::FromPartition()
#21 0x561daabe88b7 gin_helper::Invoker<>::DispatchToCallback<>()
#22 0x561daabe87ab gin_helper::Dispatcher<>::DispatchToCallback()
#23 0x561dabe90a30 v8::internal::FunctionCallbackArguments::Call()
#24 0x561dabe8f0d1 v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#25 0x561dabe8d0da v8::internal::Builtin_Impl_HandleApiCall()
#26 0x561dabe8cb89 v8::internal::Builtin_HandleApiCall()
#27 0x561dace0c03f Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit
  r8: 0000000000000000  r9: 00007ffd4147e670 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007ffd4147e8d0 r13: aaaaaaaaaaaaaaaa r14: 00007ffd4147f938 r15: 00007ffd4147e8d0
  di: 0000000000000002  si: 00007ffd4147e670  bp: 00007ffd4147e8c0  bx: 00007f3067929c40
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007f3068c27ce5  sp: 00007ffd4147e670
  ip: 00007f3068c27ce5 efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
```

### To Reproduce
```js
const { BrowserWindow, app, session } = require('electron')
console.log(process.versions)
app.on('ready', () => {
  const foo = session.fromPartition('foo')
  const window = new BrowserWindow({
    webPreferences: {
      // session: foo
    }
  })
  window.webContents.loadURL('about:blank')
  window.show()
})
```

shell/browser/electron_browser_client.cc
if (BrowserThread::CurrentlyOn(BrowserThread::IO))
    return g_io_thread_application_locale.Get();
  return *g_application_locale;
}
base::FilePath ElectronBrowserClient::GetFontLookupTableCacheDir() {
  base::FilePath user_data_dir;
  base::PathService::Get(DIR_USER_DATA, &user_data_dir);
  DCHECK(!user_data_dir.empty());
  return user_data_dir.Append(FILE_PATH_LITERAL("FontLookupTableCache"));
}
bool ElectronBrowserClient::ShouldEnableStrictSiteIsolation() {
  
  return true;
}
void ElectronBrowserClient::BindHostReceiverForRenderer(
    content::RenderProcessHost* render_process_host,
    mojo::GenericPendingReceiver receiver) {
#if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
  if (auto host_receiver = receiver.As<spellcheck::mojom::SpellCheckHost>()) {
    SpellCheckHostChromeImpl::Create(render_process_host->GetID(),
                                     std::move(host_receiver));
    return;
  }
#endif
}
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
void BindMimeHandlerService(