Remove IsArrayObject and IsDateObject methods This CL removes the IsArrayObject and IsDateObject methods and asks the v8 objects directly. Change-Id: I4e2b957dbdfcddb426270f72666fce83854d92e0 Reviewed-on: https://pdfium-review.googlesource.com/16616 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp index 0ed0594..35b808c 100644 --- a/fpdfsdk/javascript/Field.cpp +++ b/fpdfsdk/javascript/Field.cpp
@@ -879,7 +879,7 @@ std::vector<uint32_t> array; if (vp.ToV8Value()->IsNumber()) { array.push_back(pRuntime->ToInt32(vp.ToV8Value())); - } else if (vp.IsArrayObject()) { + } else if (!vp.ToV8Value().IsEmpty() && vp.ToV8Value()->IsArray()) { CJS_Array SelArray(pRuntime->ToArray(vp.ToV8Value())); for (int i = 0, sz = SelArray.GetLength(pRuntime); i < sz; i++) array.push_back( @@ -1210,7 +1210,7 @@ return false; } - return m_bCanSet && vp.IsArrayObject(); + return m_bCanSet && !vp.ToV8Value().IsEmpty() && vp.ToV8Value()->IsArray(); } bool Field::get_file_select(CJS_Runtime* pRuntime, @@ -1297,7 +1297,7 @@ return false; if (!m_bCanSet) return false; - if (!vp.IsArrayObject()) + if (vp.ToV8Value().IsEmpty() || !vp.ToV8Value()->IsArray()) return false; return true; } @@ -1797,7 +1797,7 @@ WideString* sError) { if (!m_bCanSet) return false; - if (!vp.IsArrayObject()) + if (vp.ToV8Value().IsEmpty() || !vp.ToV8Value()->IsArray()) return false; CJS_Array rcArray(pRuntime->ToArray(vp.ToV8Value())); @@ -2017,7 +2017,7 @@ WideString* sError) { if (!m_bCanSet) return false; - if (!vp.IsArrayObject()) + if (vp.ToV8Value().IsEmpty() || !vp.ToV8Value()->IsArray()) return false; return true; } @@ -2131,7 +2131,7 @@ WideString* sError) { if (!m_bCanSet) return false; - if (!vp.IsArrayObject()) + if (vp.ToV8Value().IsEmpty() || !vp.ToV8Value()->IsArray()) return false; return true; } @@ -2342,7 +2342,7 @@ return false; std::vector<WideString> strArray; - if (vp.IsArrayObject()) { + if (!vp.ToV8Value().IsEmpty() && vp.ToV8Value()->IsArray()) { CJS_Array ValueArray(pRuntime->ToArray(vp.ToV8Value())); for (int i = 0, sz = ValueArray.GetLength(pRuntime); i < sz; i++) { CJS_Value ElementValue(ValueArray.GetElement(pRuntime, i));
diff --git a/fpdfsdk/javascript/JS_Value.cpp b/fpdfsdk/javascript/JS_Value.cpp index f535f69..9275de3 100644 --- a/fpdfsdk/javascript/JS_Value.cpp +++ b/fpdfsdk/javascript/JS_Value.cpp
@@ -216,14 +216,6 @@ m_pValue = num; } -bool CJS_Value::IsArrayObject() const { - return !m_pValue.IsEmpty() && m_pValue->IsArray(); -} - -bool CJS_Value::IsDateObject() const { - return !m_pValue.IsEmpty() && m_pValue->IsDate(); -} - CJS_Array::CJS_Array() {} CJS_Array::CJS_Array(v8::Local<v8::Array> pArray) : m_pArray(pArray) {} @@ -436,7 +428,7 @@ result[i] = originals[i]; if (originals.size() != 1 || !originals[0].ToV8Value()->IsObject() || - originals[0].IsArrayObject()) { + originals[0].ToV8Value()->IsArray()) { return result; } v8::Local<v8::Object> pObj = pRuntime->ToObject(originals[0].ToV8Value());
diff --git a/fpdfsdk/javascript/JS_Value.h b/fpdfsdk/javascript/JS_Value.h index 5e77e0b..ff3bf9c 100644 --- a/fpdfsdk/javascript/JS_Value.h +++ b/fpdfsdk/javascript/JS_Value.h
@@ -33,9 +33,6 @@ // to make one from the current |m_pValue|. void MaybeCoerceToNumber(CJS_Runtime* pRuntime); - bool IsArrayObject() const; - bool IsDateObject() const; - private: v8::Local<v8::Value> m_pValue; };
diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp index 68fc305..200e7d1 100644 --- a/fpdfsdk/javascript/PublicMethods.cpp +++ b/fpdfsdk/javascript/PublicMethods.cpp
@@ -247,7 +247,7 @@ CJS_Array CJS_PublicMethods::AF_MakeArrayFromList(CJS_Runtime* pRuntime, CJS_Value val) { - if (val.IsArrayObject()) + if (!val.ToV8Value().IsEmpty() && val.ToV8Value()->IsArray()) return CJS_Array(pRuntime->ToArray(val.ToV8Value())); WideString wsStr = pRuntime->ToWideString(val.ToV8Value()); @@ -1675,7 +1675,8 @@ } CJS_Value params1(params[1]); - if (!params1.IsArrayObject() && !params1.ToV8Value()->IsString()) { + if ((params[1].ToV8Value().IsEmpty() || !params[1].ToV8Value()->IsArray()) && + !params1.ToV8Value()->IsString()) { sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR); return false; }
diff --git a/fpdfsdk/javascript/app.cpp b/fpdfsdk/javascript/app.cpp index 26f28f5..cb07a0e 100644 --- a/fpdfsdk/javascript/app.cpp +++ b/fpdfsdk/javascript/app.cpp
@@ -414,21 +414,17 @@ } WideString swMsg; - if (newParams[0].ToV8Value()->IsObject()) { - if (newParams[0].IsArrayObject()) { - CJS_Array carray(pRuntime->ToArray(newParams[0].ToV8Value())); - swMsg = L"["; - for (int i = 0; i < carray.GetLength(pRuntime); ++i) { - if (i) - swMsg += L", "; + if (newParams[0].ToV8Value()->IsArray()) { + CJS_Array carray(pRuntime->ToArray(newParams[0].ToV8Value())); + swMsg = L"["; + for (int i = 0; i < carray.GetLength(pRuntime); ++i) { + if (i) + swMsg += L", "; - CJS_Value element(carray.GetElement(pRuntime, i)); - swMsg += pRuntime->ToWideString(element.ToV8Value()); - } - swMsg += L"]"; - } else { - swMsg = pRuntime->ToWideString(newParams[0].ToV8Value()); + CJS_Value element(carray.GetElement(pRuntime, i)); + swMsg += pRuntime->ToWideString(element.ToV8Value()); } + swMsg += L"]"; } else { swMsg = pRuntime->ToWideString(newParams[0].ToV8Value()); }
diff --git a/fpdfsdk/javascript/color.cpp b/fpdfsdk/javascript/color.cpp index 56baa59..c095678 100644 --- a/fpdfsdk/javascript/color.cpp +++ b/fpdfsdk/javascript/color.cpp
@@ -289,7 +289,7 @@ bool color::SetPropertyHelper(CJS_Runtime* pRuntime, const CJS_Value& vp, CFX_Color* var) { - if (!vp.IsArrayObject()) + if (vp.ToV8Value().IsEmpty() || !vp.ToV8Value()->IsArray()) return false; *var = ConvertArrayToPWLColor(pRuntime, @@ -304,7 +304,7 @@ int iSize = params.size(); if (iSize < 2) return false; - if (!params[0].IsArrayObject()) + if (params[0].ToV8Value().IsEmpty() || !params[0].ToV8Value()->IsArray()) return false; WideString sDestSpace = pRuntime->ToWideString(params[1].ToV8Value()); @@ -337,8 +337,10 @@ WideString& sError) { if (params.size() < 2) return false; - if (!params[0].IsArrayObject() || !params[1].IsArrayObject()) + if (params[0].ToV8Value().IsEmpty() || !params[0].ToV8Value()->IsArray() || + params[1].ToV8Value().IsEmpty() || !params[1].ToV8Value()->IsArray()) { return false; + } CFX_Color color1 = ConvertArrayToPWLColor( pRuntime, CJS_Array(pRuntime->ToArray(params[0].ToV8Value())));
diff --git a/fpdfsdk/javascript/util.cpp b/fpdfsdk/javascript/util.cpp index 28ab0bb..4a7e148 100644 --- a/fpdfsdk/javascript/util.cpp +++ b/fpdfsdk/javascript/util.cpp
@@ -149,12 +149,12 @@ const CJS_Value& p1 = params[0]; const CJS_Value& p2 = params[1]; - if (!p2.IsDateObject()) { + if (p2.ToV8Value().IsEmpty() || !p2.ToV8Value()->IsDate()) { sError = JSGetStringFromID(IDS_STRING_JSPRINT1); return false; } - ASSERT(p2.IsDateObject()); + ASSERT(!p2.ToV8Value().IsEmpty() && p2.ToV8Value()->IsDate()); v8::Local<v8::Value> mutable_value = p2.ToV8Value(); CJS_Date jsDate(mutable_value.As<v8::Date>()); if (!jsDate.IsValidDate(pRuntime)) {