Browse Source

fix: destroy url loader wrapper when JS env exits

Co-authored-by: deepak1556 <[email protected]>
trop[bot] 5 months ago
parent
commit
02f5aef8ad

+ 1 - 0
shell/common/api/electron_api_url_loader.cc

@@ -164,6 +164,7 @@ class BufferDataSource : public mojo::DataPipeProducer::DataSource {
 
 class JSChunkedDataPipeGetter final
     : public gin::Wrappable<JSChunkedDataPipeGetter>,
+      public gin_helper::CleanedUpAtExit,
       public network::mojom::ChunkedDataPipeGetter {
  public:
   static gin::Handle<JSChunkedDataPipeGetter> Create(

+ 2 - 0
shell/common/api/electron_api_url_loader.h

@@ -21,6 +21,7 @@
 #include "services/network/public/mojom/url_loader_network_service_observer.mojom.h"
 #include "services/network/public/mojom/url_response_head.mojom.h"
 #include "shell/browser/event_emitter_mixin.h"
+#include "shell/common/gin_helper/cleaned_up_at_exit.h"
 #include "url/gurl.h"
 #include "v8/include/v8-forward.h"
 
@@ -50,6 +51,7 @@ namespace electron::api {
 class SimpleURLLoaderWrapper final
     : public gin::Wrappable<SimpleURLLoaderWrapper>,
       public gin_helper::EventEmitterMixin<SimpleURLLoaderWrapper>,
+      public gin_helper::CleanedUpAtExit,
       private network::SimpleURLLoaderStreamConsumer,
       private network::mojom::URLLoaderNetworkServiceObserver {
  public: