diff --git a/src/node_object_wrap.h b/src/node_object_wrap.h index 2d67bc1db67e35..8f695fd9dd0679 100644 --- a/src/node_object_wrap.h +++ b/src/node_object_wrap.h @@ -61,7 +61,7 @@ class ObjectWrap { inline void MakeWeak(void) { - persistent().SetWeak(this, WeakCallback); + persistent().SetWeak(this, WeakCallback, v8::WeakCallbackType::kParameter); persistent().MarkIndependent(); } @@ -96,14 +96,9 @@ class ObjectWrap { private: static void WeakCallback( - const v8::WeakCallbackData& data) { - v8::Isolate* isolate = data.GetIsolate(); - v8::HandleScope scope(isolate); + const v8::WeakCallbackInfo& data) { ObjectWrap* wrap = data.GetParameter(); assert(wrap->refs_ == 0); - assert(wrap->handle_.IsNearDeath()); - assert( - data.GetValue() == v8::Local::New(isolate, wrap->handle_)); wrap->handle_.Reset(); delete wrap; }