summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-10-24 15:15:27 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-10-24 19:28:02 +0000
commit3cac3602f24f56413cc2ca312731675fc080b7ef (patch)
treecc5741593ce51f41276be2f8a1826bf452a7841c /fpdfsdk/javascript
parent1b2a18ec4ed99fc2ac56b5fde230bc2b348d9725 (diff)
downloadpdfium-3cac3602f24f56413cc2ca312731675fc080b7ef.tar.xz
Remove GetType from CJS_Value
This CL removes the GetType method from CJS_Value and, instead, retrieves the value from the v8 object directly. Change-Id: Ia8390f3ead163c09a39cae493e75fccdd41a0961 Reviewed-on: https://pdfium-review.googlesource.com/16615 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk/javascript')
-rw-r--r--fpdfsdk/javascript/Document.cpp22
-rw-r--r--fpdfsdk/javascript/Field.cpp2
-rw-r--r--fpdfsdk/javascript/JS_Value.cpp25
-rw-r--r--fpdfsdk/javascript/JS_Value.h15
-rw-r--r--fpdfsdk/javascript/PublicMethods.cpp4
-rw-r--r--fpdfsdk/javascript/app.cpp45
-rw-r--r--fpdfsdk/javascript/event.cpp2
-rw-r--r--fpdfsdk/javascript/global.cpp128
-rw-r--r--fpdfsdk/javascript/util.cpp4
9 files changed, 110 insertions, 137 deletions
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index 68023d02b0..22fe8b4c80 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -447,7 +447,7 @@ bool Document::print(CJS_Runtime* pRuntime,
bool bAnnotations = false;
int nlength = params.size();
if (nlength == 9) {
- if (params[8].GetType() == CJS_Value::VT_object) {
+ if (params[8].ToV8Value()->IsObject()) {
v8::Local<v8::Object> pObj = pRuntime->ToObject(params[8].ToV8Value());
if (CFXJS_Engine::GetObjDefnID(pObj) ==
CJS_PrintParamsObj::g_nObjDefnID) {
@@ -584,14 +584,10 @@ bool Document::resetForm(CJS_Runtime* pRuntime,
return true;
}
- switch (params[0].GetType()) {
- default:
- aName = CJS_Array(pRuntime->ToArray(params[0].ToV8Value()));
- break;
- case CJS_Value::VT_string:
- aName.SetElement(pRuntime, 0, params[0]);
- break;
- }
+ if (params[0].ToV8Value()->IsString())
+ aName.SetElement(pRuntime, 0, params[0]);
+ else
+ aName = CJS_Array(pRuntime->ToArray(params[0].ToV8Value()));
std::vector<CPDF_FormField*> aFields;
for (int i = 0, isz = aName.GetLength(pRuntime); i < isz; ++i) {
@@ -643,7 +639,7 @@ bool Document::submitForm(CJS_Runtime* pRuntime,
bool bFDF = true;
bool bEmpty = false;
CJS_Value v(params[0]);
- if (v.GetType() == CJS_Value::VT_string) {
+ if (v.ToV8Value()->IsString()) {
strURL = pRuntime->ToWideString(params[0].ToV8Value());
if (nSize > 1)
bFDF = pRuntime->ToBoolean(params[1].ToV8Value());
@@ -651,7 +647,7 @@ bool Document::submitForm(CJS_Runtime* pRuntime,
bEmpty = pRuntime->ToBoolean(params[2].ToV8Value());
if (nSize > 3)
aFields = CJS_Array(pRuntime->ToArray(params[3].ToV8Value()));
- } else if (v.GetType() == CJS_Value::VT_object) {
+ } else if (v.ToV8Value()->IsObject()) {
v8::Local<v8::Object> pObj = pRuntime->ToObject(params[0].ToV8Value());
v8::Local<v8::Value> pValue = pRuntime->GetObjectProperty(pObj, L"cURL");
if (!pValue.IsEmpty())
@@ -737,7 +733,7 @@ bool Document::mailDoc(CJS_Runtime* pRuntime,
if (params.size() >= 6)
cMsg = pRuntime->ToWideString(params[5].ToV8Value());
- if (params.size() >= 1 && params[0].GetType() == CJS_Value::VT_object) {
+ if (params.size() >= 1 && params[0].ToV8Value()->IsObject()) {
v8::Local<v8::Object> pObj = pRuntime->ToObject(params[0].ToV8Value());
bUI = pRuntime->ToBoolean(pRuntime->GetObjectProperty(pObj, L"bUI"));
cTo = pRuntime->ToWideString(pRuntime->GetObjectProperty(pObj, L"cTo"));
@@ -1371,7 +1367,7 @@ bool Document::addIcon(CJS_Runtime* pRuntime,
}
WideString swIconName = pRuntime->ToWideString(params[0].ToV8Value());
- if (params[1].GetType() != CJS_Value::VT_object) {
+ if (!params[1].ToV8Value()->IsObject()) {
sError = JSGetStringFromID(IDS_STRING_JSTYPEERROR);
return false;
}
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp
index 5bcc66b7e9..0ed0594b3b 100644
--- a/fpdfsdk/javascript/Field.cpp
+++ b/fpdfsdk/javascript/Field.cpp
@@ -877,7 +877,7 @@ bool Field::set_current_value_indices(CJS_Runtime* pRuntime,
return false;
std::vector<uint32_t> array;
- if (vp.GetType() == CJS_Value::VT_number) {
+ if (vp.ToV8Value()->IsNumber()) {
array.push_back(pRuntime->ToInt32(vp.ToV8Value()));
} else if (vp.IsArrayObject()) {
CJS_Array SelArray(pRuntime->ToArray(vp.ToV8Value()));
diff --git a/fpdfsdk/javascript/JS_Value.cpp b/fpdfsdk/javascript/JS_Value.cpp
index 35a5b1c682..f535f69f94 100644
--- a/fpdfsdk/javascript/JS_Value.cpp
+++ b/fpdfsdk/javascript/JS_Value.cpp
@@ -196,7 +196,7 @@ v8::Local<v8::Value> CJS_Value::ToV8Value() const {
void CJS_Value::MaybeCoerceToNumber(CJS_Runtime* pRuntime) {
bool bAllowNaN = false;
- if (GetType() == VT_string) {
+ if (ToV8Value()->IsString()) {
ByteString bstr =
ByteString::FromUnicode(pRuntime->ToWideString(ToV8Value()));
if (bstr.GetLength() == 0)
@@ -216,27 +216,6 @@ void CJS_Value::MaybeCoerceToNumber(CJS_Runtime* pRuntime) {
m_pValue = num;
}
-// static
-CJS_Value::Type CJS_Value::GetValueType(v8::Local<v8::Value> value) {
- if (value.IsEmpty())
- return VT_unknown;
- if (value->IsString())
- return VT_string;
- if (value->IsNumber())
- return VT_number;
- if (value->IsBoolean())
- return VT_boolean;
- if (value->IsDate())
- return VT_date;
- if (value->IsObject())
- return VT_object;
- if (value->IsNull())
- return VT_null;
- if (value->IsUndefined())
- return VT_undefined;
- return VT_unknown;
-}
-
bool CJS_Value::IsArrayObject() const {
return !m_pValue.IsEmpty() && m_pValue->IsArray();
}
@@ -456,7 +435,7 @@ std::vector<CJS_Value> ExpandKeywordParams(
for (size_t i = 0; i < size; ++i)
result[i] = originals[i];
- if (originals.size() != 1 || originals[0].GetType() != CJS_Value::VT_object ||
+ if (originals.size() != 1 || !originals[0].ToV8Value()->IsObject() ||
originals[0].IsArrayObject()) {
return result;
}
diff --git a/fpdfsdk/javascript/JS_Value.h b/fpdfsdk/javascript/JS_Value.h
index 07e5986527..5e77e0beaa 100644
--- a/fpdfsdk/javascript/JS_Value.h
+++ b/fpdfsdk/javascript/JS_Value.h
@@ -19,19 +19,6 @@ class CJS_Runtime;
class CJS_Value {
public:
- enum Type {
- VT_unknown,
- VT_string,
- VT_number,
- VT_boolean,
- VT_date,
- VT_object,
- VT_null,
- VT_undefined
- };
-
- static Type GetValueType(v8::Local<v8::Value> value);
-
CJS_Value();
explicit CJS_Value(v8::Local<v8::Value> pValue);
CJS_Value(const CJS_Value& other);
@@ -40,8 +27,6 @@ class CJS_Value {
// These calls may re-enter JS (and hence invalidate objects).
void Set(v8::Local<v8::Value> pValue);
- Type GetType() const { return GetValueType(m_pValue); }
-
v8::Local<v8::Value> ToV8Value() const;
// Replace the current |m_pValue| with a v8::Number if possible
diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp
index 462398012d..68fc30572b 100644
--- a/fpdfsdk/javascript/PublicMethods.cpp
+++ b/fpdfsdk/javascript/PublicMethods.cpp
@@ -1660,7 +1660,7 @@ bool CJS_PublicMethods::AFMakeNumber(CJS_Runtime* pRuntime,
ws.Replace(L",", L".");
vRet = CJS_Value(pRuntime->NewString(ws.c_str()));
vRet.MaybeCoerceToNumber(pRuntime);
- if (vRet.GetType() != CJS_Value::VT_number)
+ if (!vRet.ToV8Value()->IsNumber())
vRet = CJS_Value(pRuntime->NewNumber(0));
return true;
}
@@ -1675,7 +1675,7 @@ bool CJS_PublicMethods::AFSimple_Calculate(CJS_Runtime* pRuntime,
}
CJS_Value params1(params[1]);
- if (!params1.IsArrayObject() && params1.GetType() != CJS_Value::VT_string) {
+ if (!params1.IsArrayObject() && !params1.ToV8Value()->IsString()) {
sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
return false;
}
diff --git a/fpdfsdk/javascript/app.cpp b/fpdfsdk/javascript/app.cpp
index 5345d25334..26f28f5b48 100644
--- a/fpdfsdk/javascript/app.cpp
+++ b/fpdfsdk/javascript/app.cpp
@@ -22,6 +22,17 @@
#include "fpdfsdk/javascript/resource.h"
#include "third_party/base/stl_util.h"
+namespace {
+
+bool IsTypeKnown(v8::Local<v8::Value> value) {
+ return !value.IsEmpty() &&
+ (value->IsString() || value->IsNumber() || value->IsBoolean() ||
+ value->IsDate() || value->IsObject() || value->IsNull() ||
+ value->IsUndefined());
+}
+
+} // namespace
+
class GlobalTimer {
public:
GlobalTimer(app* pObj,
@@ -391,7 +402,7 @@ bool app::alert(CJS_Runtime* pRuntime,
std::vector<CJS_Value> newParams = ExpandKeywordParams(
pRuntime, params, 4, L"cMsg", L"nIcon", L"nType", L"cTitle");
- if (newParams[0].GetType() == CJS_Value::VT_unknown) {
+ if (!IsTypeKnown(newParams[0].ToV8Value())) {
sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
return false;
}
@@ -403,7 +414,7 @@ bool app::alert(CJS_Runtime* pRuntime,
}
WideString swMsg;
- if (newParams[0].GetType() == CJS_Value::VT_object) {
+ if (newParams[0].ToV8Value()->IsObject()) {
if (newParams[0].IsArrayObject()) {
CJS_Array carray(pRuntime->ToArray(newParams[0].ToV8Value()));
swMsg = L"[";
@@ -423,15 +434,15 @@ bool app::alert(CJS_Runtime* pRuntime,
}
int iIcon = 0;
- if (newParams[1].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[1].ToV8Value()))
iIcon = pRuntime->ToInt32(newParams[1].ToV8Value());
int iType = 0;
- if (newParams[2].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[2].ToV8Value()))
iType = pRuntime->ToInt32(newParams[2].ToV8Value());
WideString swTitle;
- if (newParams[3].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[3].ToV8Value()))
swTitle = pRuntime->ToWideString(newParams[3].ToV8Value());
else
swTitle = JSGetStringFromID(IDS_STRING_JSALERT);
@@ -582,7 +593,7 @@ bool app::clearInterval(CJS_Runtime* pRuntime,
}
void app::ClearTimerCommon(CJS_Runtime* pRuntime, const CJS_Value& param) {
- if (param.GetType() != CJS_Value::VT_object)
+ if (!param.ToV8Value()->IsObject())
return;
v8::Local<v8::Object> pObj = pRuntime->ToObject(param.ToV8Value());
@@ -652,14 +663,14 @@ bool app::mailMsg(CJS_Runtime* pRuntime,
ExpandKeywordParams(pRuntime, params, 6, L"bUI", L"cTo", L"cCc", L"cBcc",
L"cSubject", L"cMsg");
- if (newParams[0].GetType() == CJS_Value::VT_unknown) {
+ if (!IsTypeKnown(newParams[0].ToV8Value())) {
sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
return false;
}
bool bUI = pRuntime->ToBoolean(newParams[0].ToV8Value());
WideString cTo;
- if (newParams[1].GetType() != CJS_Value::VT_unknown) {
+ if (IsTypeKnown(newParams[1].ToV8Value())) {
cTo = pRuntime->ToWideString(newParams[1].ToV8Value());
} else {
if (!bUI) {
@@ -670,19 +681,19 @@ bool app::mailMsg(CJS_Runtime* pRuntime,
}
WideString cCc;
- if (newParams[2].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[2].ToV8Value()))
cCc = pRuntime->ToWideString(newParams[2].ToV8Value());
WideString cBcc;
- if (newParams[3].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[3].ToV8Value()))
cBcc = pRuntime->ToWideString(newParams[3].ToV8Value());
WideString cSubject;
- if (newParams[4].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[4].ToV8Value()))
cSubject = pRuntime->ToWideString(newParams[4].ToV8Value());
WideString cMsg;
- if (newParams[5].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[5].ToV8Value()))
cMsg = pRuntime->ToWideString(newParams[5].ToV8Value());
pRuntime->BeginBlock();
@@ -773,26 +784,26 @@ bool app::response(CJS_Runtime* pRuntime,
ExpandKeywordParams(pRuntime, params, 5, L"cQuestion", L"cTitle",
L"cDefault", L"bPassword", L"cLabel");
- if (newParams[0].GetType() == CJS_Value::VT_unknown) {
+ if (!IsTypeKnown(newParams[0].ToV8Value())) {
sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
return false;
}
WideString swQuestion = pRuntime->ToWideString(newParams[0].ToV8Value());
WideString swTitle = L"PDF";
- if (newParams[1].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[1].ToV8Value()))
swTitle = pRuntime->ToWideString(newParams[1].ToV8Value());
WideString swDefault;
- if (newParams[2].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[2].ToV8Value()))
swDefault = pRuntime->ToWideString(newParams[2].ToV8Value());
bool bPassword = false;
- if (newParams[3].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[3].ToV8Value()))
bPassword = pRuntime->ToBoolean(newParams[3].ToV8Value());
WideString swLabel;
- if (newParams[4].GetType() != CJS_Value::VT_unknown)
+ if (IsTypeKnown(newParams[4].ToV8Value()))
swLabel = pRuntime->ToWideString(newParams[4].ToV8Value());
const int MAX_INPUT_BYTES = 2048;
diff --git a/fpdfsdk/javascript/event.cpp b/fpdfsdk/javascript/event.cpp
index 337ce40cd8..da81aac45a 100644
--- a/fpdfsdk/javascript/event.cpp
+++ b/fpdfsdk/javascript/event.cpp
@@ -61,7 +61,7 @@ bool event::set_change(CJS_Runtime* pRuntime,
CJS_EventHandler* pEvent =
pRuntime->GetCurrentEventContext()->GetEventHandler();
- if (vp.GetType() == CJS_Value::VT_string) {
+ if (vp.ToV8Value()->IsString()) {
WideString& wChange = pEvent->Change();
wChange = pRuntime->ToWideString(vp.ToV8Value());
}
diff --git a/fpdfsdk/javascript/global.cpp b/fpdfsdk/javascript/global.cpp
index f095440413..aae7c93160 100644
--- a/fpdfsdk/javascript/global.cpp
+++ b/fpdfsdk/javascript/global.cpp
@@ -325,31 +325,33 @@ bool JSGlobalAlternate::SetProperty(CJS_Runtime* pRuntime,
const wchar_t* propname,
const CJS_Value& vp) {
ByteString sPropName = ByteString::FromUnicode(propname);
- switch (vp.GetType()) {
- case CJS_Value::VT_number:
- return SetGlobalVariables(sPropName, JS_GlobalDataType::NUMBER,
- pRuntime->ToDouble(vp.ToV8Value()), false, "",
- v8::Local<v8::Object>(), false);
- case CJS_Value::VT_boolean:
- return SetGlobalVariables(sPropName, JS_GlobalDataType::BOOLEAN, 0,
- pRuntime->ToBoolean(vp.ToV8Value()), "",
- v8::Local<v8::Object>(), false);
- case CJS_Value::VT_string:
- return SetGlobalVariables(
- sPropName, JS_GlobalDataType::STRING, 0, false,
- ByteString::FromUnicode(pRuntime->ToWideString(vp.ToV8Value())),
- v8::Local<v8::Object>(), false);
- case CJS_Value::VT_object:
- return SetGlobalVariables(sPropName, JS_GlobalDataType::OBJECT, 0, false,
- "", pRuntime->ToObject(vp.ToV8Value()), false);
- case CJS_Value::VT_null:
- return SetGlobalVariables(sPropName, JS_GlobalDataType::NULLOBJ, 0, false,
- "", v8::Local<v8::Object>(), false);
- case CJS_Value::VT_undefined:
- DelProperty(pRuntime, propname);
- return true;
- default:
- break;
+ if (vp.ToV8Value()->IsNumber()) {
+ return SetGlobalVariables(sPropName, JS_GlobalDataType::NUMBER,
+ pRuntime->ToDouble(vp.ToV8Value()), false, "",
+ v8::Local<v8::Object>(), false);
+ }
+ if (vp.ToV8Value()->IsBoolean()) {
+ return SetGlobalVariables(sPropName, JS_GlobalDataType::BOOLEAN, 0,
+ pRuntime->ToBoolean(vp.ToV8Value()), "",
+ v8::Local<v8::Object>(), false);
+ }
+ if (vp.ToV8Value()->IsString()) {
+ return SetGlobalVariables(
+ sPropName, JS_GlobalDataType::STRING, 0, false,
+ ByteString::FromUnicode(pRuntime->ToWideString(vp.ToV8Value())),
+ v8::Local<v8::Object>(), false);
+ }
+ if (vp.ToV8Value()->IsObject()) {
+ return SetGlobalVariables(sPropName, JS_GlobalDataType::OBJECT, 0, false,
+ "", pRuntime->ToObject(vp.ToV8Value()), false);
+ }
+ if (vp.ToV8Value()->IsNull()) {
+ return SetGlobalVariables(sPropName, JS_GlobalDataType::NULLOBJ, 0, false,
+ "", v8::Local<v8::Object>(), false);
+ }
+ if (vp.ToV8Value()->IsUndefined()) {
+ DelProperty(pRuntime, propname);
+ return true;
}
return false;
}
@@ -471,44 +473,44 @@ void JSGlobalAlternate::ObjectToArray(CJS_Runtime* pRuntime,
for (const auto& ws : pKeyList) {
ByteString sKey = ws.UTF8Encode();
v8::Local<v8::Value> v = pRuntime->GetObjectProperty(pObj, ws);
- switch (CJS_Value::GetValueType(v)) {
- case CJS_Value::VT_number: {
- CJS_KeyValue* pObjElement = new CJS_KeyValue;
- pObjElement->nType = JS_GlobalDataType::NUMBER;
- pObjElement->sKey = sKey;
- pObjElement->dData = pRuntime->ToDouble(v);
- array.Add(pObjElement);
- } break;
- case CJS_Value::VT_boolean: {
- CJS_KeyValue* pObjElement = new CJS_KeyValue;
- pObjElement->nType = JS_GlobalDataType::BOOLEAN;
- pObjElement->sKey = sKey;
- pObjElement->dData = pRuntime->ToBoolean(v);
- array.Add(pObjElement);
- } break;
- case CJS_Value::VT_string: {
- ByteString sValue = ByteString::FromUnicode(pRuntime->ToWideString(v));
- CJS_KeyValue* pObjElement = new CJS_KeyValue;
- pObjElement->nType = JS_GlobalDataType::STRING;
- pObjElement->sKey = sKey;
- pObjElement->sData = sValue;
- array.Add(pObjElement);
- } break;
- case CJS_Value::VT_object: {
- CJS_KeyValue* pObjElement = new CJS_KeyValue;
- pObjElement->nType = JS_GlobalDataType::OBJECT;
- pObjElement->sKey = sKey;
- ObjectToArray(pRuntime, pRuntime->ToObject(v), pObjElement->objData);
- array.Add(pObjElement);
- } break;
- case CJS_Value::VT_null: {
- CJS_KeyValue* pObjElement = new CJS_KeyValue;
- pObjElement->nType = JS_GlobalDataType::NULLOBJ;
- pObjElement->sKey = sKey;
- array.Add(pObjElement);
- } break;
- default:
- break;
+ if (v->IsNumber()) {
+ CJS_KeyValue* pObjElement = new CJS_KeyValue;
+ pObjElement->nType = JS_GlobalDataType::NUMBER;
+ pObjElement->sKey = sKey;
+ pObjElement->dData = pRuntime->ToDouble(v);
+ array.Add(pObjElement);
+ continue;
+ }
+ if (v->IsBoolean()) {
+ CJS_KeyValue* pObjElement = new CJS_KeyValue;
+ pObjElement->nType = JS_GlobalDataType::BOOLEAN;
+ pObjElement->sKey = sKey;
+ pObjElement->dData = pRuntime->ToBoolean(v);
+ array.Add(pObjElement);
+ continue;
+ }
+ if (v->IsString()) {
+ ByteString sValue = ByteString::FromUnicode(pRuntime->ToWideString(v));
+ CJS_KeyValue* pObjElement = new CJS_KeyValue;
+ pObjElement->nType = JS_GlobalDataType::STRING;
+ pObjElement->sKey = sKey;
+ pObjElement->sData = sValue;
+ array.Add(pObjElement);
+ continue;
+ }
+ if (v->IsObject()) {
+ CJS_KeyValue* pObjElement = new CJS_KeyValue;
+ pObjElement->nType = JS_GlobalDataType::OBJECT;
+ pObjElement->sKey = sKey;
+ ObjectToArray(pRuntime, pRuntime->ToObject(v), pObjElement->objData);
+ array.Add(pObjElement);
+ continue;
+ }
+ if (v->IsNull()) {
+ CJS_KeyValue* pObjElement = new CJS_KeyValue;
+ pObjElement->nType = JS_GlobalDataType::NULLOBJ;
+ pObjElement->sKey = sKey;
+ array.Add(pObjElement);
}
}
}
diff --git a/fpdfsdk/javascript/util.cpp b/fpdfsdk/javascript/util.cpp
index 96b2c8a6ef..28ab0bb95c 100644
--- a/fpdfsdk/javascript/util.cpp
+++ b/fpdfsdk/javascript/util.cpp
@@ -162,7 +162,7 @@ bool util::printd(CJS_Runtime* pRuntime,
return false;
}
- if (p1.GetType() == CJS_Value::VT_number) {
+ if (p1.ToV8Value()->IsNumber()) {
WideString swResult;
switch (pRuntime->ToInt32(p1.ToV8Value())) {
case 0:
@@ -194,7 +194,7 @@ bool util::printd(CJS_Runtime* pRuntime,
return true;
}
- if (p1.GetType() == CJS_Value::VT_string) {
+ if (p1.ToV8Value()->IsString()) {
if (iSize > 2 && pRuntime->ToBoolean(params[2].ToV8Value())) {
sError = JSGetStringFromID(IDS_STRING_JSNOTSUPPORT);
return false; // currently, it doesn't support XFAPicture.