Browse Source

fix: crash on netlog connection error (#44406)

* fix: crash on netlog connection error

* refactor: remove default PromiseBase constructor

* Revert "refactor: remove default PromiseBase constructor"

This reverts commit 9292324a0d5f9e63ba8f73f63dfff1d48eb2f38f.

* remove dcheck
Sam Maddock 5 months ago
parent
commit
348801b20e
1 changed files with 3 additions and 0 deletions
  1. 3 0
      shell/browser/api/electron_api_net_log.cc

+ 3 - 0
shell/browser/api/electron_api_net_log.cc

@@ -166,6 +166,7 @@ void NetLog::StartNetLogAfterCreateFile(net::NetLogCaptureMode capture_mode,
     std::move(*pending_start_promise_)
         .RejectWithErrorMessage(
             base::File::ErrorToString(output_file.error_details()));
+    pending_start_promise_.reset();
     net_log_exporter_.reset();
     return;
   }
@@ -178,6 +179,7 @@ void NetLog::StartNetLogAfterCreateFile(net::NetLogCaptureMode capture_mode,
 void NetLog::NetLogStarted(int32_t error) {
   DCHECK(pending_start_promise_);
   ResolvePromiseWithNetError(std::move(*pending_start_promise_), error);
+  pending_start_promise_.reset();
 }
 
 void NetLog::OnConnectionError() {
@@ -185,6 +187,7 @@ void NetLog::OnConnectionError() {
   if (pending_start_promise_) {
     std::move(*pending_start_promise_)
         .RejectWithErrorMessage("Failed to start net log exporter");
+    pending_start_promise_.reset();
   }
 }