55#ifndef WRT_SERVICE_NODE_EXTENSION_H_
66#define WRT_SERVICE_NODE_EXTENSION_H_
77
8+ #include < GCUtil.h>
9+ #include < functional>
810#include < string>
911#include < vector>
10- #include < functional>
1112
1213#include " XW_Extension.h"
1314#include " XW_Extension_SyncMessage.h"
@@ -203,12 +204,12 @@ class ESPostListener {
203204};
204205
205206class ESPostMessageListener : public wrt ::xwalk::PostMessageListener,
206- public ESPostListener {
207+ public ESPostListener, public gc {
207208public:
208209 static ESPostMessageListener* create (Escargot::ContextRef* context,
209210 Escargot::ObjectRef* listener)
210211 {
211- return new ESPostMessageListener (context, listener);
212+ return new (NoGC) ESPostMessageListener (context, listener);
212213 }
213214 void PostMessageToJS (const std::string& msg);
214215
@@ -232,12 +233,12 @@ class ESPostMessageListener : public wrt::xwalk::PostMessageListener,
232233};
233234
234235class ESPostDataListener : public wrt ::xwalk::PostDataListener,
235- public ESPostListener {
236+ public ESPostListener, public gc {
236237public:
237238 static ESPostDataListener* create (Escargot::ContextRef* context,
238239 Escargot::ObjectRef* listener)
239240 {
240- return new ESPostDataListener (context, listener);
241+ return new (NoGC) ESPostDataListener (context, listener);
241242 }
242243 void PostDataToJS (const std::string& msg, uint8_t * buffer, size_t len);
243244
0 commit comments