From 307dfb406422f9589fcdb09039b4c31a9c5f6269 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 21 Nov 2017 22:02:20 +0000 Subject: Cleanup CXFA_ScriptData This CL cleans removes out params, makes methods const and moves the XFA_ScriptDataType into CXFA_ScriptData. Change-Id: I5a51a0eddc3608577a387472911000daa479af0f Reviewed-on: https://pdfium-review.googlesource.com/19090 Reviewed-by: Henrique Nakashima Commit-Queue: dsinclair --- xfa/fxfa/cxfa_fffield.cpp | 5 +---- xfa/fxfa/cxfa_widgetacc.cpp | 9 ++++----- xfa/fxfa/parser/cxfa_scriptdata.cpp | 18 ++++++++---------- xfa/fxfa/parser/cxfa_scriptdata.h | 18 +++++++++--------- 4 files changed, 22 insertions(+), 28 deletions(-) (limited to 'xfa/fxfa') diff --git a/xfa/fxfa/cxfa_fffield.cpp b/xfa/fxfa/cxfa_fffield.cpp index 3b9b7c67c8..ca3d2bb047 100644 --- a/xfa/fxfa/cxfa_fffield.cpp +++ b/xfa/fxfa/cxfa_fffield.cpp @@ -689,10 +689,7 @@ int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { CXFA_ScriptData scriptData = calcData.GetScriptData(); if (!scriptData.HasValidNode()) return 1; - - WideString wsExpression; - scriptData.GetExpression(wsExpression); - if (wsExpression.IsEmpty()) + if (scriptData.GetExpression().IsEmpty()) return 1; } diff --git a/xfa/fxfa/cxfa_widgetacc.cpp b/xfa/fxfa/cxfa_widgetacc.cpp index 816e2a2204..fcc1e69762 100644 --- a/xfa/fxfa/cxfa_widgetacc.cpp +++ b/xfa/fxfa/cxfa_widgetacc.cpp @@ -599,19 +599,18 @@ std::pair CXFA_WidgetAcc::ExecuteBoolScript( if (scriptData.GetRunAt() == XFA_ATTRIBUTEENUM_Server) return {XFA_EVENTERROR_Disabled, false}; - WideString wsExpression; - scriptData.GetExpression(wsExpression); + WideString wsExpression = scriptData.GetExpression(); if (wsExpression.IsEmpty()) return {XFA_EVENTERROR_NotExist, false}; - XFA_ScriptDataType eScriptType = scriptData.GetContentType(); - if (eScriptType == XFA_ScriptDataType::Unknown) + CXFA_ScriptData::Type eScriptType = scriptData.GetContentType(); + if (eScriptType == CXFA_ScriptData::Type::Unknown) return {XFA_EVENTERROR_Success, false}; CXFA_FFDoc* pDoc = GetDoc(); CFXJSE_Engine* pContext = pDoc->GetXFADoc()->GetScriptContext(); pContext->SetEventParam(*pEventParam); - pContext->SetRunAtType((XFA_ATTRIBUTEENUM)scriptData.GetRunAt()); + pContext->SetRunAtType(scriptData.GetRunAt()); std::vector refNodes; if (pEventParam->m_eType == XFA_EVENT_InitCalculate || diff --git a/xfa/fxfa/parser/cxfa_scriptdata.cpp b/xfa/fxfa/parser/cxfa_scriptdata.cpp index 39d9a4b8c9..40a22b672d 100644 --- a/xfa/fxfa/parser/cxfa_scriptdata.cpp +++ b/xfa/fxfa/parser/cxfa_scriptdata.cpp @@ -10,22 +10,20 @@ CXFA_ScriptData::CXFA_ScriptData(CXFA_Node* pNode) : CXFA_DataData(pNode) {} -XFA_ScriptDataType CXFA_ScriptData::GetContentType() { +CXFA_ScriptData::Type CXFA_ScriptData::GetContentType() const { pdfium::Optional cData = m_pNode->JSNode()->TryCData(XFA_Attribute::ContentType, false); - if (!cData) - return XFA_ScriptDataType::Formcalc; + if (!cData || *cData == L"application/x-formcalc") + return Type::Formcalc; if (*cData == L"application/x-javascript") - return XFA_ScriptDataType::Javascript; - if (*cData == L"application/x-formcalc") - return XFA_ScriptDataType::Formcalc; - return XFA_ScriptDataType::Unknown; + return Type::Javascript; + return Type::Unknown; } -int32_t CXFA_ScriptData::GetRunAt() { +XFA_ATTRIBUTEENUM CXFA_ScriptData::GetRunAt() const { return m_pNode->JSNode()->GetEnum(XFA_Attribute::RunAt); } -void CXFA_ScriptData::GetExpression(WideString& wsExpression) { - wsExpression = m_pNode->JSNode()->GetContent(false); +WideString CXFA_ScriptData::GetExpression() const { + return m_pNode->JSNode()->GetContent(false); } diff --git a/xfa/fxfa/parser/cxfa_scriptdata.h b/xfa/fxfa/parser/cxfa_scriptdata.h index 6e85d79ed2..2129928fb7 100644 --- a/xfa/fxfa/parser/cxfa_scriptdata.h +++ b/xfa/fxfa/parser/cxfa_scriptdata.h @@ -12,21 +12,21 @@ #include "core/fxcrt/fx_string.h" #include "xfa/fxfa/parser/cxfa_datadata.h" -enum class XFA_ScriptDataType { - Formcalc = 0, - Javascript, - Unknown, -}; - class CXFA_Node; class CXFA_ScriptData : public CXFA_DataData { public: + enum class Type { + Formcalc = 0, + Javascript, + Unknown, + }; + explicit CXFA_ScriptData(CXFA_Node* pNode); - XFA_ScriptDataType GetContentType(); - int32_t GetRunAt(); - void GetExpression(WideString& wsExpression); + Type GetContentType() const; + XFA_ATTRIBUTEENUM GetRunAt() const; + WideString GetExpression() const; }; #endif // XFA_FXFA_PARSER_CXFA_SCRIPTDATA_H_ -- cgit v1.2.3