Repro gist: https://gist.github.com/2b0373a300af0931c0c29b0e8dff8b73

Stack trace:

```
[39005:0420/121556.035182:FATAL:electron_api_browser_window.cc(71)] Check failed: web_contents_view.get(). 
0   Electron Framework                  0x000000010ba38aa9 base::debug::CollectStackTrace(void**, unsigned long) + 9
1   Electron Framework                  0x000000010b955563 base::debug::StackTrace::StackTrace() + 19
2   Electron Framework                  0x000000010b96e07f logging::LogMessage::~LogMessage() + 175
3   Electron Framework                  0x000000010b96ef4e logging::LogMessage::~LogMessage() + 14
4   Electron Framework                  0x0000000106cdffdd electron::api::BrowserWindow::BrowserWindow(gin::Arguments*, gin_helper::Dictionary const&) + 765
5   Electron Framework                  0x0000000106ce24c0 electron::api::BrowserWindow::New(gin_helper::ErrorThrower, gin::Arguments*) + 368
6   Electron Framework                  0x0000000106ce2b42 base::internal::Invoker<base::internal::BindState<gin_helper::WrappableBase* (*)(gin_helper::ErrorThrower, gin::Arguments*)>, gin_helper::WrappableBase* (gin_helper::ErrorThrower, gin::Arguments*)>::Run(base::internal::BindStateBase*, gin_helper::ErrorThrower&&, gin::Arguments*) + 34
7   Electron Framework                  0x0000000106ce2af8 gin_helper::WrappableBase* gin_helper::internal::InvokeFactory<gin_helper::ErrorThrower, gin::Arguments*>(gin::Arguments*, base::RepeatingCallback<gin_helper::WrappableBase* (gin_helper::ErrorThrower, gin::Arguments*)> const&) + 152
8   Electron Framework                  0x0000000106ce29b1 void gin_helper::internal::InvokeNew<gin_helper::WrappableBase* (gin_helper::ErrorThrower, gin::Arguments*)>(base::RepeatingCallback<gin_helper::WrappableBase* (gin_helper::ErrorThrower, gin::Arguments*)> const&, v8::Isolate*, gin_helper::Arguments*) + 81
9   Electron Framework                  0x0000000106cd0624 gin_helper::Dispatcher<void (v8::Isolate*, gin_helper::Arguments*)>::DispatchToCallback(v8::FunctionCallbackInfo<v8::Value> const&) + 356
10  Electron Framework                  0x00000001088fc1a2 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) + 994
11  Electron Framework                  0x00000001088f9bd0 v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) + 928
12  Electron Framework                  0x00000001088f8d1f v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) + 383
13  Electron Framework                  0x00000001088f890d v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) + 109
14  ???                                 0x0000004600318bdf 0x0 + 300650957791
```

it's a DCHECK, but I'm pretty sure it will crash later if this is null.
shell/browser/api/electron_api_web_contents.cc
}
    if (IsGuest())
      Emit("load-commit", url, is_main_frame);
  } else {
    auto url = navigation_handle->GetURL();
    int code = navigation_handle->GetNetErrorCode();
    auto description = net::ErrorToShortString(code);
    Emit("did-fail-provisional-load", code, description, url, is_main_frame,
         frame_process_id, frame_routing_id);
     Do not emit "did-fail-load" for canceled requests.
    if (code != net::ERR_ABORTED) {
      EmitWarning(
          node::Environment::GetCurrent(JavascriptEnvironment::GetIsolate()),
          "Failed to load URL: " + url.possibly_invalid_spec() +
              " with error: " + description,
          "electron");
      Emit("did-fail-load", code, description, url, is_main_frame,
           frame_process_id, frame_routing_id);
    }
  }
  content::NavigationEntry* entry = navigation_handle->GetNavigationEntry();
   This check is needed due to an issue in Chromium
   Check the Chromium issue to keep updated:
   https:bugs.chromium.org/p/chromium/issues/detail?id=1178663
   If a history entry has been made and the forward/back call has been made,
   proceed with setting the new title
  if (entry && (entry->GetTransitionType() & ui::PAGE_TRANSITION_FORWARD_BACK))
    WebContents::TitleWasSet(entry);
}
void WebContents::TitleWasSet(content::NavigationEntry* entry) {