* Electron version: 8.0.0
* Operating system: Linux - Fedora 31 - Kernel 5.4.13-201.fc31.x86_64

### Expected behavior
The local store should persist items even though the app is terminated as soon as the item was added.

### Actual behavior
If the app is terminated in less than 2 seconds after an item is added to local storage, the value is not available after the app is reopened.

### How to reproduce
1. Create a new electron app 
(I used the quick start from the website git clone https://github.com/electron/electron-quick-start)

0. Run the app using `npm start`

0. Run a JavaScript code that adds a new key/value pair to localStorage
````
localStorage.setItem("my-key", "my-value")
````

0. Within 3 seconds, terminate the app (killing the process or pressing Ctrl + C)
NOTE: If the app is closed properly (pressing Alt + F4 or click on the "X"), this issue does not occur.

0. Run the app again

0. Check for the localStorage items
````
localStorage.getItem("my-key")
````
Or in the Application tab from Developer Tools.

Both cases are not available neither the key nor the value
shell/browser/electron_browser_main_parts.cc
#if defined(USE_AURA)
  display::Screen* screen = views::CreateDesktopScreen();
  display::Screen::SetScreenInstance(screen);
#if defined(OS_LINUX)
  views::LinuxUI::instance()->UpdateDeviceScaleFactor();
#endif
#endif
  if (!views::LayoutProvider::Get())
    layout_provider_ = std::make_unique<views::LayoutProvider>();
  auto* command_line = base::CommandLine::ForCurrentProcess();
  std::string locale = command_line->GetSwitchValueASCII(::switches::kLang);
#if defined(OS_MAC)
  
  
  
  if (locale.empty())
    l10n_util::OverrideLocaleWithCocoaLocale();
#elif defined(OS_LINUX)
  
  
  
  
  std::unique_ptr<base::Environment> env(base::Environment::Create());
  base::Optional<std::string> lc_all;
  if (!locale.empty()) {
    std::string str;
    if (env->GetVar("LC_ALL", &str))
      lc_all.emplace(std::move(str));
    env->SetVar("LC_ALL", locale.c_str());