Generate more modern V8 API calls in js_define.h macros
APIs used by PDFium were deprecated at:
https://chromium-review.googlesource.com/c/v8/v8/+/5344409
Convert some v8::Local<String> to v8::Local<Name> accordingly,
and use updated v8 getter function type names. Since Name is
super-class of String, the rest stays as-is.
Change-Id: I68cd0499c5cc0c40623a0a479dd5a92082adf315
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/117291
Reviewed-by: Thomas Sepez <tsepez@google.com>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/cfxjs_engine.cpp b/fxjs/cfxjs_engine.cpp
index 9ace436..03d41f4 100644
--- a/fxjs/cfxjs_engine.cpp
+++ b/fxjs/cfxjs_engine.cpp
@@ -199,8 +199,8 @@
}
void DefineProperty(v8::Local<v8::String> sPropName,
- v8::AccessorGetterCallback pPropGet,
- v8::AccessorSetterCallback pPropPut) {
+ v8::AccessorNameGetterCallback pPropGet,
+ v8::AccessorNameSetterCallback pPropPut) {
GetInstanceTemplate()->SetAccessor(sPropName, pPropGet, pPropPut);
}
@@ -435,8 +435,8 @@
void CFXJS_Engine::DefineObjProperty(uint32_t nObjDefnID,
const char* sPropName,
- v8::AccessorGetterCallback pPropGet,
- v8::AccessorSetterCallback pPropPut) {
+ v8::AccessorNameGetterCallback pPropGet,
+ v8::AccessorNameSetterCallback pPropPut) {
v8::Isolate::Scope isolate_scope(GetIsolate());
v8::HandleScope handle_scope(GetIsolate());
FXJS_PerIsolateData* pIsolateData = FXJS_PerIsolateData::Get(GetIsolate());
diff --git a/fxjs/cfxjs_engine.h b/fxjs/cfxjs_engine.h
index 91ac103..55ca561 100644
--- a/fxjs/cfxjs_engine.h
+++ b/fxjs/cfxjs_engine.h
@@ -108,8 +108,8 @@
v8::FunctionCallback pMethodCall);
void DefineObjProperty(uint32_t nObjDefnID,
const char* sPropName,
- v8::AccessorGetterCallback pPropGet,
- v8::AccessorSetterCallback pPropPut);
+ v8::AccessorNameGetterCallback pPropGet,
+ v8::AccessorNameSetterCallback pPropPut);
void DefineObjAllProperties(
uint32_t nObjDefnID,
v8::GenericNamedPropertyQueryCallback pPropQurey,
diff --git a/fxjs/cjs_object.h b/fxjs/cjs_object.h
index d63fada..ccccee2 100644
--- a/fxjs/cjs_object.h
+++ b/fxjs/cjs_object.h
@@ -24,8 +24,8 @@
struct JSPropertySpec {
const char* pName;
- v8::AccessorGetterCallback pPropGet;
- v8::AccessorSetterCallback pPropPut;
+ v8::AccessorNameGetterCallback pPropGet;
+ v8::AccessorNameSetterCallback pPropPut;
};
struct JSMethodSpec {
diff --git a/fxjs/js_define.h b/fxjs/js_define.h
index f000bfa..579cf5e 100644
--- a/fxjs/js_define.h
+++ b/fxjs/js_define.h
@@ -68,7 +68,7 @@
template <class C, CJS_Result (C::*M)(CJS_Runtime*)>
void JSPropGetter(const char* prop_name_string,
const char* class_name_string,
- v8::Local<v8::String> property,
+ v8::Local<v8::Name> property,
const v8::PropertyCallbackInfo<v8::Value>& info) {
auto pObj = JSGetObject<C>(info.GetIsolate(), info.Holder());
if (!pObj)
@@ -92,7 +92,7 @@
template <class C, CJS_Result (C::*M)(CJS_Runtime*, v8::Local<v8::Value>)>
void JSPropSetter(const char* prop_name_string,
const char* class_name_string,
- v8::Local<v8::String> property,
+ v8::Local<v8::Name> property,
v8::Local<v8::Value> value,
const v8::PropertyCallbackInfo<void>& info) {
auto pObj = JSGetObject<C>(info.GetIsolate(), info.Holder());
@@ -138,18 +138,18 @@
info.GetReturnValue().Set(result.Return());
}
-#define JS_STATIC_PROP(err_name, prop_name, class_name) \
- static void get_##prop_name##_static( \
- v8::Local<v8::String> property, \
- const v8::PropertyCallbackInfo<v8::Value>& info) { \
- JSPropGetter<class_name, &class_name::get_##prop_name>( \
- #err_name, class_name::kName, property, info); \
- } \
- static void set_##prop_name##_static( \
- v8::Local<v8::String> property, v8::Local<v8::Value> value, \
- const v8::PropertyCallbackInfo<void>& info) { \
- JSPropSetter<class_name, &class_name::set_##prop_name>( \
- #err_name, class_name::kName, property, value, info); \
+#define JS_STATIC_PROP(err_name, prop_name, class_name) \
+ static void get_##prop_name##_static( \
+ v8::Local<v8::Name> property, \
+ const v8::PropertyCallbackInfo<v8::Value>& info) { \
+ JSPropGetter<class_name, &class_name::get_##prop_name>( \
+ #err_name, class_name::kName, property, info); \
+ } \
+ static void set_##prop_name##_static( \
+ v8::Local<v8::Name> property, v8::Local<v8::Value> value, \
+ const v8::PropertyCallbackInfo<void>& info) { \
+ JSPropSetter<class_name, &class_name::set_##prop_name>( \
+ #err_name, class_name::kName, property, value, info); \
}
#define JS_STATIC_METHOD(method_name, class_name) \