Stop using deprecated V8 APIs in CJS_Global.
Also merge Initial() into the ctor.
Change-Id: Ib3cb9619a65a5c33d7c739051c13dfcd7f2324d7
Reviewed-on: https://pdfium-review.googlesource.com/41356
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/cjs_global.cpp b/fxjs/cjs_global.cpp
index ea8694f..d9338ab 100644
--- a/fxjs/cjs_global.cpp
+++ b/fxjs/cjs_global.cpp
@@ -113,6 +113,13 @@
}
}
+template <class T>
+v8::Local<v8::String> GetV8StringFromProperty(v8::Local<v8::Name> property,
+ const T& info) {
+ return property->ToString(info.GetIsolate()->GetCurrentContext())
+ .ToLocalChecked();
+}
+
} // namespace
CJS_Global::JSGlobalData::JSGlobalData()
@@ -147,7 +154,7 @@
JSSpecialPropQuery<CJS_Global>(
"global",
v8::Local<v8::String>::New(info.GetIsolate(),
- property->ToString(info.GetIsolate())),
+ GetV8StringFromProperty(property, info)),
info);
}
@@ -159,7 +166,7 @@
JSSpecialPropGet<CJS_Global>(
"global",
v8::Local<v8::String>::New(info.GetIsolate(),
- property->ToString(info.GetIsolate())),
+ GetV8StringFromProperty(property, info)),
info);
}
@@ -172,7 +179,7 @@
JSSpecialPropPut<CJS_Global>(
"global",
v8::Local<v8::String>::New(info.GetIsolate(),
- property->ToString(info.GetIsolate())),
+ GetV8StringFromProperty(property, info)),
value, info);
}
@@ -184,7 +191,7 @@
JSSpecialPropDel<CJS_Global>(
"global",
v8::Local<v8::String>::New(info.GetIsolate(),
- property->ToString(info.GetIsolate())),
+ GetV8StringFromProperty(property, info)),
info);
}
@@ -210,7 +217,10 @@
CJS_Global::CJS_Global(v8::Local<v8::Object> pObject, CJS_Runtime* pRuntime)
: CJS_Object(pObject, pRuntime) {
- Initial(GetRuntime()->GetFormFillEnv());
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = GetRuntime()->GetFormFillEnv();
+ m_pFormFillEnv.Reset(pFormFillEnv);
+ m_pGlobalData = CJS_GlobalData::GetRetainedInstance(pFormFillEnv);
+ UpdateGlobalPersistentVariables();
}
CJS_Global::~CJS_Global() {
@@ -218,12 +228,6 @@
m_pGlobalData->Release();
}
-void CJS_Global::Initial(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pFormFillEnv.Reset(pFormFillEnv);
- m_pGlobalData = CJS_GlobalData::GetRetainedInstance(pFormFillEnv);
- UpdateGlobalPersistentVariables();
-}
-
CJS_Result CJS_Global::QueryProperty(const wchar_t* propname) {
if (WideString(propname) != L"setPersistent")
return CJS_Result::Failure(JSMessage::kUnknownProperty);
diff --git a/fxjs/cjs_global.h b/fxjs/cjs_global.h
index 6ecd6c0..454ddf9 100644
--- a/fxjs/cjs_global.h
+++ b/fxjs/cjs_global.h
@@ -40,7 +40,6 @@
~CJS_Global() override;
CJS_Result DelProperty(CJS_Runtime* pRuntime, const wchar_t* propname);
- void Initial(CPDFSDK_FormFillEnvironment* pFormFillEnv);
CJS_Result setPersistent(CJS_Runtime* pRuntime,
const std::vector<v8::Local<v8::Value>>& params);