Index: src/global-handles.h |
diff --git a/src/global-handles.h b/src/global-handles.h |
index d1d5d1ebe68696a668816edac7ec10012f11b266..cb5619ffbe0c3c2a42589230be984b883e26352a 100644 |
--- a/src/global-handles.h |
+++ b/src/global-handles.h |
@@ -349,17 +349,25 @@ class GlobalHandles { |
class GlobalHandles::PendingPhantomCallback { |
public: |
typedef v8::WeakCallbackInfo<void> Data; |
- PendingPhantomCallback(Node* node, Data data, Data::Callback callback) |
- : node_(node), data_(data), callback_(callback) {} |
+ PendingPhantomCallback( |
+ Node* node, Data::Callback callback, void* parameter, |
+ void* internal_fields[v8::kInternalFieldsInWeakCallback]) |
+ : node_(node), callback_(callback), parameter_(parameter) { |
+ for (int i = 0; i < v8::kInternalFieldsInWeakCallback; ++i) { |
+ internal_fields_[i] = internal_fields[i]; |
+ } |
+ } |
- void invoke(); |
+ void Invoke(Isolate* isolate); |
Node* node() { return node_; } |
+ Data::Callback callback() { return callback_; } |
private: |
Node* node_; |
- Data data_; |
Data::Callback callback_; |
+ void* parameter_; |
+ void* internal_fields_[v8::kInternalFieldsInWeakCallback]; |
}; |