summaryrefslogtreecommitdiff
path: root/fpdfsdk/src/javascript/Consts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/src/javascript/Consts.cpp')
-rw-r--r--fpdfsdk/src/javascript/Consts.cpp31
1 files changed, 25 insertions, 6 deletions
diff --git a/fpdfsdk/src/javascript/Consts.cpp b/fpdfsdk/src/javascript/Consts.cpp
index 77cf445d77..b534d2b393 100644
--- a/fpdfsdk/src/javascript/Consts.cpp
+++ b/fpdfsdk/src/javascript/Consts.cpp
@@ -127,10 +127,16 @@ END_JS_STATIC_CONST()
IMPLEMENT_JS_CLASS_CONST(CJS_Zoomtype, zoomtype)
-/* ------------------------------ CJS_GlobalConsts
- * ------------------------------ */
+/* ------------------------------ CJS_GlobalConsts ------------------------- */
-int CJS_GlobalConsts::Init(v8::Isolate* pIsolate) {
+#define DEFINE_GLOBAL_CONST(pIsolate, const_name, const_value) \
+ if (JS_DefineGlobalConst( \
+ pIsolate, JS_WIDESTRING(const_name), \
+ JS_NewString(pIsolate, JS_WIDESTRING(const_value)))) { \
+ return -1; \
+ }
+
+int CJS_GlobalConsts::DefineJSObjects(v8::Isolate* pIsolate) {
DEFINE_GLOBAL_CONST(pIsolate, IDS_GREATER_THAN, Invalid value
: must be greater than or equal to % s.);
DEFINE_GLOBAL_CONST(
@@ -156,10 +162,23 @@ int CJS_GlobalConsts::Init(v8::Isolate* pIsolate) {
return 0;
}
-/* ------------------------------ CJS_GlobalArrays
- * ------------------------------ */
+/* ------------------------------ CJS_GlobalArrays ------------------------ */
+
+#define DEFINE_GLOBAL_ARRAY(pIsolate) \
+ int size = FX_ArraySize(ArrayContent); \
+ \
+ CJS_Array array(pIsolate); \
+ for (int i = 0; i < size; i++) \
+ array.SetElement(i, CJS_Value(pIsolate, ArrayContent[i])); \
+ \
+ CJS_PropValue prop(pIsolate); \
+ prop << array; \
+ if (JS_DefineGlobalConst(pIsolate, (const wchar_t*)ArrayName, \
+ prop.ToV8Value()) < 0) { \
+ return -1; \
+ }
-int CJS_GlobalArrays::Init(v8::Isolate* pIsolate) {
+int CJS_GlobalArrays::DefineJSObjects(v8::Isolate* pIsolate) {
{
const FX_WCHAR* ArrayName = L"RE_NUMBER_ENTRY_DOT_SEP";
const FX_WCHAR* ArrayContent[] = {L"[+-]?\\d*\\.?\\d*"};