This is a regression from 4.x as far as I can tell.

Steps:
* `git clone https://github.com/bpasero/electron-crashreporter`
* `yarn`
* open `constants.js` and configure:
  * `enableCrashReporter: false`
  * `crashMain` (or renderer, or child process): `true`
  * `tmpDir`: some location that exists
* `yarn start`

=> 🐛 the process that crashes goes to 100% CPU and does not terminate. My feeling is that this is a regression from adopting crashpad for Windows.

This is a blocker for shipping E6 for VSCode.

//cc @deepak1556 
shell/common/crash_reporter/crash_reporter_win.cc
upload_parameters_["platform"] = "win32";
}
crashpad::CrashpadClient& CrashReporterWin::GetCrashpadClient() {
  return crashpad_client_;
}
void CrashReporterWin::UpdatePipeName() {
  std::string pipe_name =
      base::UTF16ToUTF8(crashpad_client_.GetHandlerIPCPipe());
  std::unique_ptr<base::Environment> env(base::Environment::Create());
  env->SetVar(electron::kCrashpadPipeName, pipe_name);
  
  const auto& pages = electron::InspectableWebContentsImpl::GetAll();
  for (auto* page : pages) {
    auto* frame_host = page->GetWebContents()->GetMainFrame();
    if (!frame_host)
      continue;
    electron::mojom::ElectronRendererAssociatedPtr electron_ptr;
    frame_host->GetRemoteAssociatedInterfaces()->GetInterface(
        mojo::MakeRequest(&electron_ptr));
    electron_ptr->UpdateCrashpadPipeName(pipe_name);
  }
}
CrashReporterWin* CrashReporterWin::GetInstance() {
  return base::Singleton<CrashReporterWin>::get();
}
CrashReporter* CrashReporter::GetInstance() {
  return CrashReporterWin::GetInstance();
}
}