1
- #include " async_wrap-inl.h"
2
1
#include " base_object-inl.h"
3
2
#include " inspector_agent.h"
4
3
#include " inspector_io.h"
@@ -61,7 +60,7 @@ struct MainThreadConnection {
61
60
};
62
61
63
62
template <typename ConnectionType>
64
- class JSBindingsConnection : public AsyncWrap {
63
+ class JSBindingsConnection : public BaseObject {
65
64
public:
66
65
class JSBindingsSessionDelegate : public InspectorSessionDelegate {
67
66
public:
@@ -91,15 +90,17 @@ class JSBindingsConnection : public AsyncWrap {
91
90
JSBindingsConnection (Environment* env,
92
91
Local<Object> wrap,
93
92
Local<Function> callback)
94
- : AsyncWrap (env, wrap, PROVIDER_INSPECTORJSBINDING ),
93
+ : BaseObject (env, wrap),
95
94
callback_(env->isolate (), callback) {
96
95
Agent* inspector = env->inspector_agent ();
97
96
session_ = ConnectionType::Connect (
98
97
inspector, std::make_unique<JSBindingsSessionDelegate>(env, this ));
99
98
}
100
99
101
100
void OnMessage (Local<Value> value) {
102
- MakeCallback (callback_.Get (env ()->isolate ()), 1 , &value);
101
+ auto result = callback_.Get (env ()->isolate ())
102
+ ->Call (env ()->context (), object (), 1 , &value);
103
+ (void )result;
103
104
}
104
105
105
106
static void Bind (Environment* env, Local<Object> target) {
@@ -108,7 +109,6 @@ class JSBindingsConnection : public AsyncWrap {
108
109
NewFunctionTemplate (isolate, JSBindingsConnection::New);
109
110
tmpl->InstanceTemplate ()->SetInternalFieldCount (
110
111
JSBindingsConnection::kInternalFieldCount );
111
- tmpl->Inherit (AsyncWrap::GetConstructorTemplate (env));
112
112
SetProtoMethod (isolate, tmpl, " dispatch" , JSBindingsConnection::Dispatch);
113
113
SetProtoMethod (
114
114
isolate, tmpl, " disconnect" , JSBindingsConnection::Disconnect);
0 commit comments