Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5334433

Browse filesBrowse files
gahaasRafaelGSS
authored andcommitted
src: replace uses of deprecated v8::External APIs
PR-URL: #61898 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com> (cherry picked from commit 49c2b4b)
1 parent 46e75f4 commit 5334433
Copy full SHA for 5334433

6 files changed

+38-24Lines changed: 38 additions & 24 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎src/crypto/crypto_context.cc‎

Copy file name to clipboardExpand all lines: src/crypto/crypto_context.cc
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2409,7 +2409,8 @@ int SecureContext::TicketCompatibilityCallback(SSL* ssl,
24092409
void SecureContext::CtxGetter(const FunctionCallbackInfo<Value>& info) {
24102410
SecureContext* sc;
24112411
ASSIGN_OR_RETURN_UNWRAP(&sc, info.This());
2412-
Local<External> ext = External::New(info.GetIsolate(), sc->ctx_.get());
2412+
Local<External> ext = External::New(
2413+
info.GetIsolate(), sc->ctx_.get(), v8::kExternalPointerTypeTagDefault);
24132414
info.GetReturnValue().Set(ext);
24142415
}
24152416

Collapse file

‎src/js_native_api_v8.cc‎

Copy file name to clipboardExpand all lines: src/js_native_api_v8.cc
+15-9Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -355,8 +355,8 @@ inline napi_status Unwrap(napi_env env,
355355
auto val = obj->GetPrivate(context, NAPI_PRIVATE_KEY(context, wrapper))
356356
.ToLocalChecked();
357357
RETURN_STATUS_IF_FALSE(env, val->IsExternal(), napi_invalid_arg);
358-
Reference* reference =
359-
static_cast<v8impl::Reference*>(val.As<v8::External>()->Value());
358+
Reference* reference = static_cast<v8impl::Reference*>(
359+
val.As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault));
360360

361361
if (result) {
362362
*result = reference->Data();
@@ -395,14 +395,16 @@ class CallbackBundle {
395395
bundle->cb_data = data;
396396
bundle->env = env;
397397

398-
v8::Local<v8::Value> cbdata = v8::External::New(env->isolate, bundle);
398+
v8::Local<v8::Value> cbdata = v8::External::New(
399+
env->isolate, bundle, v8::kExternalPointerTypeTagDefault);
399400
ReferenceWithFinalizer::New(
400401
env, cbdata, 0, ReferenceOwnership::kRuntime, Delete, bundle, nullptr);
401402
return cbdata;
402403
}
403404

404405
static CallbackBundle* FromCallbackData(v8::Local<v8::Value> data) {
405-
return reinterpret_cast<CallbackBundle*>(data.As<v8::External>()->Value());
406+
return reinterpret_cast<CallbackBundle*>(
407+
data.As<v8::External>()->Value(v8::kExternalPointerTypeTagDefault));
406408
}
407409

408410
public:
@@ -573,9 +575,11 @@ inline napi_status Wrap(napi_env env,
573575
env, obj, 0, v8impl::ReferenceOwnership::kRuntime, native_object);
574576
}
575577

576-
CHECK(obj->SetPrivate(context,
577-
NAPI_PRIVATE_KEY(context, wrapper),
578-
v8::External::New(env->isolate, reference))
578+
CHECK(obj->SetPrivate(
579+
context,
580+
NAPI_PRIVATE_KEY(context, wrapper),
581+
v8::External::New(
582+
env->isolate, reference, v8::kExternalPointerTypeTagDefault))
579583
.FromJust());
580584

581585
return GET_RETURN_STATUS(env);
@@ -842,7 +846,8 @@ class ExternalWrapper {
842846
public:
843847
static v8::Local<v8::External> New(napi_env env, void* data) {
844848
ExternalWrapper* wrapper = new ExternalWrapper(data);
845-
v8::Local<v8::External> external = v8::External::New(env->isolate, wrapper);
849+
v8::Local<v8::External> external = v8::External::New(
850+
env->isolate, wrapper, v8::kExternalPointerTypeTagDefault);
846851
wrapper->persistent_.Reset(env->isolate, external);
847852
wrapper->persistent_.SetWeak(
848853
wrapper, WeakCallback, v8::WeakCallbackType::kParameter);
@@ -851,7 +856,8 @@ class ExternalWrapper {
851856
}
852857

853858
static ExternalWrapper* From(v8::Local<v8::External> external) {
854-
return static_cast<ExternalWrapper*>(external->Value());
859+
return static_cast<ExternalWrapper*>(
860+
external->Value(v8::kExternalPointerTypeTagDefault));
855861
}
856862

857863
void* Data() { return data_; }
Collapse file

‎src/node_modules.cc‎

Copy file name to clipboardExpand all lines: src/node_modules.cc
+6-4Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -552,8 +552,10 @@ void GetCompileCacheEntry(const FunctionCallbackInfo<Value>& args) {
552552

553553
v8::LocalVector<v8::Name> names(isolate,
554554
{FIXED_ONE_BYTE_STRING(isolate, "external")});
555-
v8::LocalVector<v8::Value> values(isolate,
556-
{v8::External::New(isolate, cache_entry)});
555+
v8::LocalVector<v8::Value> values(
556+
isolate,
557+
{v8::External::New(
558+
isolate, cache_entry, v8::kExternalPointerTypeTagDefault)});
557559
if (cache_entry->cache != nullptr) {
558560
Debug(env,
559561
DebugCategory::COMPILE_CACHE,
@@ -592,8 +594,8 @@ void SaveCompileCacheEntry(const FunctionCallbackInfo<Value>& args) {
592594
DCHECK(env->use_compile_cache());
593595
CHECK(args[0]->IsExternal());
594596
CHECK(args[1]->IsString()); // TODO(joyeecheung): accept buffer.
595-
auto* cache_entry =
596-
static_cast<CompileCacheEntry*>(args[0].As<External>()->Value());
597+
auto* cache_entry = static_cast<CompileCacheEntry*>(
598+
args[0].As<External>()->Value(v8::kExternalPointerTypeTagDefault));
597599
Utf8Value utf8(isolate, args[1].As<String>());
598600
env->compile_cache_handler()->MaybeSave(cache_entry, utf8.ToStringView());
599601
}
Collapse file

‎src/node_util.cc‎

Copy file name to clipboardExpand all lines: src/node_util.cc
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ static void GetExternalValue(
9393
Isolate* isolate = args.GetIsolate();
9494
Local<External> external = args[0].As<External>();
9595

96-
void* ptr = external->Value();
96+
void* ptr = external->Value(v8::kExternalPointerTypeTagDefault);
9797
uint64_t value = reinterpret_cast<uint64_t>(ptr);
9898
Local<BigInt> ret = BigInt::NewFromUnsigned(isolate, value);
9999
args.GetReturnValue().Set(ret);
Collapse file

‎src/stream_base.cc‎

Copy file name to clipboardExpand all lines: src/stream_base.cc
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,8 @@ void StreamBase::GetExternal(const FunctionCallbackInfo<Value>& args) {
653653
StreamBase* wrap = StreamBase::FromObject(args.This().As<Object>());
654654
if (wrap == nullptr) return;
655655

656-
Local<External> ext = External::New(args.GetIsolate(), wrap);
656+
Local<External> ext = External::New(
657+
args.GetIsolate(), wrap, v8::kExternalPointerTypeTagDefault);
657658
args.GetReturnValue().Set(ext);
658659
}
659660

Collapse file

‎test/cctest/test_environment.cc‎

Copy file name to clipboardExpand all lines: test/cctest/test_environment.cc
+12-8Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -700,14 +700,18 @@ TEST_F(EnvironmentTest, NestedMicrotaskQueue) {
700700

701701
using IntVec = std::vector<int>;
702702
IntVec callback_calls;
703-
v8::Local<v8::Function> must_call = v8::Function::New(
704-
context,
705-
[](const v8::FunctionCallbackInfo<v8::Value>& info) {
706-
IntVec* callback_calls = static_cast<IntVec*>(
707-
info.Data().As<v8::External>()->Value());
708-
callback_calls->push_back(info[0].As<v8::Int32>()->Value());
709-
},
710-
v8::External::New(isolate_, static_cast<void*>(&callback_calls)))
703+
v8::Local<v8::Function> must_call =
704+
v8::Function::New(
705+
context,
706+
[](const v8::FunctionCallbackInfo<v8::Value>& info) {
707+
IntVec* callback_calls =
708+
static_cast<IntVec*>(info.Data().As<v8::External>()->Value(
709+
v8::kExternalPointerTypeTagDefault));
710+
callback_calls->push_back(info[0].As<v8::Int32>()->Value());
711+
},
712+
v8::External::New(isolate_,
713+
static_cast<void*>(&callback_calls),
714+
v8::kExternalPointerTypeTagDefault))
711715
.ToLocalChecked();
712716
context->Global()->Set(
713717
context,

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.