From 20736f7f5884cf1e2827543c92b6e47f8282aeaf Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 17 Aug 2018 16:44:50 +0000 Subject: Introduce safer CJS_Return::Success() and Failure(). Avoid the possibility of ever re-introducing the issue noticed last week. Remove some redundant JSGetStringFromID() calls. Change-Id: I56687c2191bd72e378f747083f34080e50cbe490 Reviewed-on: https://pdfium-review.googlesource.com/40490 Reviewed-by: Lei Zhang Commit-Queue: Tom Sepez --- fxjs/xfa/cjx_form.cpp | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'fxjs/xfa/cjx_form.cpp') diff --git a/fxjs/xfa/cjx_form.cpp b/fxjs/xfa/cjx_form.cpp index e1441b01ec..3bbdb72bfb 100644 --- a/fxjs/xfa/cjx_form.cpp +++ b/fxjs/xfa/cjx_form.cpp @@ -35,12 +35,12 @@ CJS_Return CJX_Form::formNodes( CFX_V8* runtime, const std::vector>& params) { if (params.size() != 1) - return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); + return CJS_Return::Failure(JSMessage::kParamError); CXFA_Node* pDataNode = ToNode(static_cast(runtime)->ToXFAObject(params[0])); if (!pDataNode) - return CJS_Return(JSGetStringFromID(JSMessage::kValueError)); + return CJS_Return::Failure(JSMessage::kValueError); std::vector formItems; CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(GetDocument()); @@ -49,30 +49,31 @@ CJS_Return CJX_Form::formNodes( CFXJSE_Value* value = GetDocument()->GetScriptContext()->GetJSValueFromMap(pFormNodes); if (!value) - return CJS_Return(runtime->NewNull()); - return CJS_Return(value->DirectGetValue().Get(runtime->GetIsolate())); + return CJS_Return::Success(runtime->NewNull()); + return CJS_Return::Success( + value->DirectGetValue().Get(runtime->GetIsolate())); } CJS_Return CJX_Form::remerge(CFX_V8* runtime, const std::vector>& params) { if (!params.empty()) - return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); + return CJS_Return::Failure(JSMessage::kParamError); GetDocument()->DoDataRemerge(true); - return CJS_Return(); + return CJS_Return::Success(); } CJS_Return CJX_Form::execInitialize( CFX_V8* runtime, const std::vector>& params) { if (!params.empty()) - return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); + return CJS_Return::Failure(JSMessage::kParamError); CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); if (pNotify) pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Initialize, false, true); - return CJS_Return(); + return CJS_Return::Success(); } CJS_Return CJX_Form::recalculate( @@ -82,45 +83,45 @@ CJS_Return CJX_Form::recalculate( GetDocument()->GetScriptContext()->GetEventParam(); if (pEventParam->m_eType == XFA_EVENT_Calculate || pEventParam->m_eType == XFA_EVENT_InitCalculate) { - return CJS_Return(); + return CJS_Return::Success(); } if (params.size() != 1) - return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); + return CJS_Return::Failure(JSMessage::kParamError); CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); if (!pNotify || runtime->ToInt32(params[0]) != 0) - return CJS_Return(); + return CJS_Return::Success(); pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Calculate, false, true); pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Validate, false, true); pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Ready, true, true); - return CJS_Return(); + return CJS_Return::Success(); } CJS_Return CJX_Form::execCalculate( CFX_V8* runtime, const std::vector>& params) { if (!params.empty()) - return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); + return CJS_Return::Failure(JSMessage::kParamError); CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); if (pNotify) pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Calculate, false, true); - return CJS_Return(); + return CJS_Return::Success(); } CJS_Return CJX_Form::execValidate( CFX_V8* runtime, const std::vector>& params) { if (params.size() != 0) - return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); + return CJS_Return::Failure(JSMessage::kParamError); CXFA_FFNotify* pNotify = GetDocument()->GetNotify(); if (!pNotify) - return CJS_Return(runtime->NewBoolean(false)); + return CJS_Return::Success(runtime->NewBoolean(false)); int32_t iRet = pNotify->ExecEventByDeepFirst(GetXFANode(), XFA_EVENT_Validate, false, true); - return CJS_Return(runtime->NewBoolean(iRet != XFA_EVENTERROR_Error)); + return CJS_Return::Success(runtime->NewBoolean(iRet != XFA_EVENTERROR_Error)); } -- cgit v1.2.3