summaryrefslogtreecommitdiff
path: root/fpdfsdk/cpdfsdk_interform.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2018-05-17 13:53:52 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-05-17 13:53:52 +0000
commitdc5d88bcebbeeb696b405464e901add55d1efaf7 (patch)
tree54bc913015ea4d08b9fe46997f25a3153cbc70d7 /fpdfsdk/cpdfsdk_interform.cpp
parentdb3c6cefceddf25c25f1205d7b633f09e873bf98 (diff)
downloadpdfium-dc5d88bcebbeeb696b405464e901add55d1efaf7.tar.xz
Convert JS execute methods to return Optional<IJS_Runtime::JS_Error>
This CL changes several of the JS execution methods to to return an Optional<IJS_Runtime::JS_Error> instead of a bool with a WideString out param. The IJS_Runtime::JS_Error will contain the line, column and exception message if an error occurs during execution. Change-Id: I37785ae6cd133a4c94ad8d25289473600b8a5d19 Reviewed-on: https://pdfium-review.googlesource.com/32614 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fpdfsdk/cpdfsdk_interform.cpp')
-rw-r--r--fpdfsdk/cpdfsdk_interform.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp
index 4f11babbbe..b37562ccf2 100644
--- a/fpdfsdk/cpdfsdk_interform.cpp
+++ b/fpdfsdk/cpdfsdk_interform.cpp
@@ -291,10 +291,9 @@ void CPDFSDK_InterForm::OnCalculate(CPDF_FormField* pFormField) {
bool bRC = true;
pContext->OnField_Calculate(pFormField, pField, sValue, bRC);
- WideString sInfo;
- bool bRet = pContext->RunScript(csJS, &sInfo);
+ Optional<IJS_Runtime::JS_Error> err = pContext->RunScript(csJS);
pRuntime->ReleaseEventContext(pContext);
- if (bRet && bRC && sValue.Compare(sOldValue) != 0)
+ if (!err && bRC && sValue.Compare(sOldValue) != 0)
pField->SetValue(sValue, true);
}
m_bBusy = false;
@@ -328,10 +327,10 @@ WideString CPDFSDK_InterForm::OnFormat(CPDF_FormField* pFormField,
IJS_EventContext* pContext = pRuntime->NewEventContext();
pContext->OnField_Format(pFormField, Value, true);
- WideString sInfo;
- bool bRet = pContext->RunScript(script, &sInfo);
+
+ Optional<IJS_Runtime::JS_Error> err = pContext->RunScript(script);
pRuntime->ReleaseEventContext(pContext);
- if (bRet) {
+ if (!err) {
sValue = Value;
bFormatted = true;
}