Browse Source

fix: destroy message port backend when JS env exits (#39335)

Robo 1 year ago
parent
commit
e96b1613a4
1 changed files with 4 additions and 1 deletions
  1. 4 1
      shell/browser/api/message_port.h

+ 4 - 1
shell/browser/api/message_port.h

@@ -11,6 +11,7 @@
 #include "gin/wrappable.h"
 #include "mojo/public/cpp/bindings/connector.h"
 #include "mojo/public/cpp/bindings/message.h"
+#include "shell/common/gin_helper/cleaned_up_at_exit.h"
 #include "third_party/blink/public/common/messaging/message_port_channel.h"
 #include "third_party/blink/public/common/messaging/message_port_descriptor.h"
 
@@ -23,7 +24,9 @@ class Handle;
 namespace electron {
 
 // A non-blink version of blink::MessagePort.
-class MessagePort : public gin::Wrappable<MessagePort>, mojo::MessageReceiver {
+class MessagePort : public gin::Wrappable<MessagePort>,
+                    public gin_helper::CleanedUpAtExit,
+                    public mojo::MessageReceiver {
  public:
   ~MessagePort() override;
   static gin::Handle<MessagePort> Create(v8::Isolate* isolate);