Skip to content

Commit 212017b

Browse files
committed
Deprecate FunctionCallbackInfo::Holder
Use FunctionCallbackInfo::This instead. See http://crbug.com/333672197.
1 parent bf14d52 commit 212017b

File tree

7 files changed

+33
-19
lines changed

7 files changed

+33
-19
lines changed

nan_callbacks_12_inl.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,19 @@ class FunctionCallbackInfo {
111111
}
112112
#endif
113113
inline v8::Local<v8::Value> Data() const { return data_; }
114-
inline v8::Local<v8::Object> Holder() const { return info_.Holder(); }
114+
NAN_DEPRECATED inline v8::Local<v8::Object> Holder() const {
115+
#if defined(V8_MAJOR_VERSION) && \
116+
(V8_MAJOR_VERSION > 12 || \
117+
(V8_MAJOR_VERSION == 12 && \
118+
(defined(V8_MINOR_VERSION) && \
119+
(V8_MINOR_VERSION > 5 || \
120+
(V8_MINOR_VERSION == 5 && defined(V8_BUILD_NUMBER) && \
121+
V8_BUILD_NUMBER >= 214)))))
122+
return info_.This();
123+
#else
124+
return info_.Holder();
125+
#endif
126+
}
115127
inline bool IsConstructCall() const { return info_.IsConstructCall(); }
116128
inline int Length() const { return info_.Length(); }
117129
inline v8::Local<v8::Value> operator[](int i) const { return info_[i]; }

nan_callbacks_pre_12_inl.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,9 @@ class FunctionCallbackInfo {
140140
return args_.Callee();
141141
}
142142
inline v8::Local<v8::Value> Data() const { return data_; }
143-
inline v8::Local<v8::Object> Holder() const { return args_.Holder(); }
143+
NAN_DEPRECATED inline v8::Local<v8::Object> Holder() const {
144+
return args_.Holder();
145+
}
144146
inline bool IsConstructCall() const { return args_.IsConstructCall(); }
145147
inline int Length() const { return args_.Length(); }
146148
inline v8::Local<v8::Value> operator[](int i) const { return args_[i]; }

test/cpp/accessors.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ NAN_METHOD(SetterGetter::New) {
9090

9191
NAN_GETTER(SetterGetter::GetProp1) {
9292
SetterGetter* settergetter =
93-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
93+
ObjectWrap::Unwrap<SetterGetter>(info.This());
9494
assert(strlen(settergetter->log) < sizeof (settergetter->log));
9595
strncat(
9696
settergetter->log
@@ -112,7 +112,7 @@ NAN_GETTER(SetterGetter::GetProp1) {
112112

113113
NAN_GETTER(SetterGetter::GetProp2) {
114114
SetterGetter* settergetter =
115-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
115+
ObjectWrap::Unwrap<SetterGetter>(info.This());
116116
assert(strlen(settergetter->log) < sizeof (settergetter->log));
117117
strncat(
118118
settergetter->log
@@ -134,7 +134,7 @@ NAN_GETTER(SetterGetter::GetProp2) {
134134

135135
NAN_SETTER(SetterGetter::SetProp2) {
136136
SetterGetter* settergetter =
137-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
137+
ObjectWrap::Unwrap<SetterGetter>(info.This());
138138
strncpy(
139139
settergetter->prop2
140140
, *Utf8String(value)
@@ -159,7 +159,7 @@ NAN_SETTER(SetterGetter::SetProp2) {
159159

160160
NAN_METHOD(SetterGetter::Log) {
161161
SetterGetter* settergetter =
162-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
162+
ObjectWrap::Unwrap<SetterGetter>(info.This());
163163

164164
info.GetReturnValue().Set(Nan::New(settergetter->log).ToLocalChecked());
165165
}

test/cpp/accessors2.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ NAN_METHOD(SetterGetter::New) {
8888

8989
NAN_GETTER(SetterGetter::GetProp1) {
9090
SetterGetter* settergetter =
91-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
91+
ObjectWrap::Unwrap<SetterGetter>(info.This());
9292
assert(strlen(settergetter->log) < sizeof (settergetter->log));
9393
strncat(
9494
settergetter->log
@@ -110,7 +110,7 @@ NAN_GETTER(SetterGetter::GetProp1) {
110110

111111
NAN_GETTER(SetterGetter::GetProp2) {
112112
SetterGetter* settergetter =
113-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
113+
ObjectWrap::Unwrap<SetterGetter>(info.This());
114114
assert(strlen(settergetter->log) < sizeof (settergetter->log));
115115
strncat(
116116
settergetter->log
@@ -132,7 +132,7 @@ NAN_GETTER(SetterGetter::GetProp2) {
132132

133133
NAN_SETTER(SetterGetter::SetProp2) {
134134
SetterGetter* settergetter =
135-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
135+
ObjectWrap::Unwrap<SetterGetter>(info.This());
136136
strncpy(
137137
settergetter->prop2
138138
, *Nan::Utf8String(value)
@@ -157,7 +157,7 @@ NAN_SETTER(SetterGetter::SetProp2) {
157157

158158
NAN_METHOD(SetterGetter::Log) {
159159
SetterGetter* settergetter =
160-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
160+
ObjectWrap::Unwrap<SetterGetter>(info.This());
161161

162162
info.GetReturnValue().Set(Nan::New(settergetter->log).ToLocalChecked());
163163
}

test/cpp/methodswithdata.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ NAN_GETTER(SetterGetter::GetProp1) {
7474
std::string datavalue = *Nan::Utf8String(info.Data());
7575
assert(datavalue == "prop1-data");
7676
SetterGetter* settergetter =
77-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
77+
ObjectWrap::Unwrap<SetterGetter>(info.This());
7878
assert(strlen(settergetter->log) < sizeof (settergetter->log));
7979
strncat(
8080
settergetter->log
@@ -99,7 +99,7 @@ NAN_GETTER(SetterGetter::GetProp2) {
9999
assert(datavalue == "prop2-data");
100100

101101
SetterGetter* settergetter =
102-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
102+
ObjectWrap::Unwrap<SetterGetter>(info.This());
103103
assert(strlen(settergetter->log) < sizeof (settergetter->log));
104104
strncat(
105105
settergetter->log
@@ -124,7 +124,7 @@ NAN_SETTER(SetterGetter::SetProp2) {
124124
assert(datavalue == "prop2-data");
125125

126126
SetterGetter* settergetter =
127-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
127+
ObjectWrap::Unwrap<SetterGetter>(info.This());
128128
strncpy(
129129
settergetter->prop2
130130
, *Utf8String(value)
@@ -149,7 +149,7 @@ NAN_SETTER(SetterGetter::SetProp2) {
149149

150150
NAN_METHOD(SetterGetter::Log) {
151151
SetterGetter* settergetter =
152-
ObjectWrap::Unwrap<SetterGetter>(info.Holder());
152+
ObjectWrap::Unwrap<SetterGetter>(info.This());
153153

154154
info.GetReturnValue().Set(Nan::New(settergetter->log).ToLocalChecked());
155155
}

test/cpp/objectwraphandle.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,17 @@ class MyObject : public ObjectWrap {
4747
}
4848

4949
static NAN_METHOD(GetHandle) {
50-
MyObject* obj = ObjectWrap::Unwrap<MyObject>(info.Holder());
50+
MyObject* obj = ObjectWrap::Unwrap<MyObject>(info.This());
5151
info.GetReturnValue().Set(obj->handle());
5252
}
5353

5454
static NAN_METHOD(GetHandleConst) {
55-
MyObject const *obj = ObjectWrap::Unwrap<MyObject>(info.Holder());
55+
MyObject const *obj = ObjectWrap::Unwrap<MyObject>(info.This());
5656
info.GetReturnValue().Set(obj->handle());
5757
}
5858

5959
static NAN_METHOD(GetValue) {
60-
MyObject* obj = ObjectWrap::Unwrap<MyObject>(info.Holder());
60+
MyObject* obj = ObjectWrap::Unwrap<MyObject>(info.This());
6161
info.GetReturnValue().Set(obj->value_);
6262
}
6363

test/cpp/wrappedobjectfactory.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class InnerObject : public ObjectWrap {
4949
}
5050

5151
static NAN_METHOD(GetValue) {
52-
InnerObject* obj = ObjectWrap::Unwrap<InnerObject>(info.Holder());
52+
InnerObject* obj = ObjectWrap::Unwrap<InnerObject>(info.This());
5353
info.GetReturnValue().Set(obj->value_);
5454
}
5555

@@ -102,7 +102,7 @@ class MyObject : public ObjectWrap {
102102
}
103103

104104
static NAN_METHOD(GetValue) {
105-
MyObject* obj = ObjectWrap::Unwrap<MyObject>(info.Holder());
105+
MyObject* obj = ObjectWrap::Unwrap<MyObject>(info.This());
106106
info.GetReturnValue().Set(obj->value_);
107107
}
108108

0 commit comments

Comments
 (0)