From 316eb864137a0b8eeb0d0d4d698ba83f4946a89c Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 21 Oct 2015 13:29:23 -0400 Subject: Merge to XFA: Add type cast definitions for CPDF_String. This Cl adds ToString, CPDF_Object::AsString and CPDF_Object::IsString and updates the src to use them as needed. BUG=pdfium:201 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1417933002 . (cherry picked from commit 53d3ab125ef583be8cfac907b308a6551b93067a) Review URL: https://codereview.chromium.org/1408323006 . --- fpdfsdk/src/formfiller/FFL_Utils.cpp | 2 +- fpdfsdk/src/fsdk_baseform.cpp | 10 ++++------ fpdfsdk/src/javascript/Document.cpp | 6 ++++-- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'fpdfsdk') diff --git a/fpdfsdk/src/formfiller/FFL_Utils.cpp b/fpdfsdk/src/formfiller/FFL_Utils.cpp index a4463b7242..e3c8306a0a 100644 --- a/fpdfsdk/src/formfiller/FFL_Utils.cpp +++ b/fpdfsdk/src/formfiller/FFL_Utils.cpp @@ -81,7 +81,7 @@ FX_BOOL CFFL_Utils::TraceObject(CPDF_Object* pObj) { // TRACE("%d\n",(int32_t)pObj); break; case PDFOBJ_STRING: - // TRACE(((CPDF_String*)pObj)->GetString() + "\n"); + // TRACE(pObj->AsString()->GetString() + "\n"); break; case PDFOBJ_NAME: // TRACE(((CPDF_Name*)pObj)->GetString() + "\n"); diff --git a/fpdfsdk/src/fsdk_baseform.cpp b/fpdfsdk/src/fsdk_baseform.cpp index d7374a6f18..68c320b4af 100644 --- a/fpdfsdk/src/fsdk_baseform.cpp +++ b/fpdfsdk/src/fsdk_baseform.cpp @@ -2747,10 +2747,9 @@ void CPDFSDK_InterForm::DoFDFBuffer(CFX_ByteString sBuffer) { CPDF_Object* pJS = pJSDict->GetElementValue("Before"); if (pJS != NULL) { - int iType = pJS->GetType(); - if (iType == PDFOBJ_STRING) + if (pJS->IsString()) csJS = pJSDict->GetUnicodeText("Before"); - else if (iType == PDFOBJ_STREAM) + else if (pJS->GetType() == PDFOBJ_STREAM) csJS = pJS->GetUnicodeText(); } } @@ -2939,13 +2938,12 @@ void CPDFSDK_InterForm::GetFieldFromObjects(const CFX_PtrArray& objects, if (pObject == NULL) continue; - int iType = pObject->GetType(); - if (iType == PDFOBJ_STRING) { + if (pObject->IsString()) { CFX_WideString csName = pObject->GetUnicodeText(); CPDF_FormField* pField = m_pInterForm->GetField(0, csName); if (pField != NULL) fields.Add(pField); - } else if (iType == PDFOBJ_DICTIONARY) { + } else if (pObject->IsDictionary()) { if (m_pInterForm->IsValidFormField(pObject)) fields.Add(pObject); } diff --git a/fpdfsdk/src/javascript/Document.cpp b/fpdfsdk/src/javascript/Document.cpp index 939b74e9db..f69a39816f 100644 --- a/fpdfsdk/src/javascript/Document.cpp +++ b/fpdfsdk/src/javascript/Document.cpp @@ -850,14 +850,16 @@ FX_BOOL Document::info(IJS_Context* cc, CFX_ByteString bsKey; CPDF_Object* pValueObj = pDictionary->GetNextElement(pos, bsKey); CFX_WideString wsKey = CFX_WideString::FromUTF8(bsKey, bsKey.GetLength()); - if ((pValueObj->GetType() == PDFOBJ_STRING) || - (pValueObj->GetType() == PDFOBJ_NAME)) + if (pValueObj->IsString() || (pValueObj->GetType() == PDFOBJ_NAME)) { FXJS_PutObjectString(isolate, pObj, wsKey.c_str(), pValueObj->GetUnicodeText().c_str()); + } + if (pValueObj->IsNumber()) { FXJS_PutObjectNumber(isolate, pObj, wsKey.c_str(), (float)pValueObj->GetNumber()); } + if (pValueObj->IsBoolean()) { FXJS_PutObjectBoolean(isolate, pObj, wsKey.c_str(), (bool)pValueObj->GetInteger()); -- cgit v1.2.3