| Index: xfa/fxfa/parser/xfa_script_imp.cpp
|
| diff --git a/xfa/fxfa/parser/xfa_script_imp.cpp b/xfa/fxfa/parser/xfa_script_imp.cpp
|
| index eb71097cdfa4d0585ad4948db9f0e4ab1dc5532e..8f579b5f26f4ffbb98dc7266117c46c904db1c28 100644
|
| --- a/xfa/fxfa/parser/xfa_script_imp.cpp
|
| +++ b/xfa/fxfa/parser/xfa_script_imp.cpp
|
| @@ -8,7 +8,6 @@
|
|
|
| #include "core/fxcrt/include/fx_ext.h"
|
| #include "xfa/fxfa/app/xfa_ffnotify.h"
|
| -#include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
|
| #include "xfa/fxfa/parser/xfa_doclayout.h"
|
| #include "xfa/fxfa/parser/xfa_document.h"
|
| #include "xfa/fxfa/parser/xfa_localemgr.h"
|
| @@ -65,6 +64,8 @@ const FXJSE_CLASS_DESCRIPTOR VariablesClassDescriptor = {
|
| CXFA_ScriptContext::NormalMethodCall,
|
| };
|
|
|
| +const char kFormCalcRuntime[] = "foxit_xfa_formcalc_runtime";
|
| +
|
| } // namespace
|
|
|
| CXFA_ScriptContext::CXFA_ScriptContext(CXFA_Document* pDocument)
|
| @@ -80,6 +81,7 @@ CXFA_ScriptContext::CXFA_ScriptContext(CXFA_Document* pDocument)
|
| m_dwBuiltInInFlags(0),
|
| m_eRunAtType(XFA_ATTRIBUTEENUM_Client) {
|
| }
|
| +
|
| CXFA_ScriptContext::~CXFA_ScriptContext() {
|
| FX_POSITION ps = m_mapXFAToValue.GetStartPosition();
|
| while (ps) {
|
| @@ -90,10 +92,9 @@ CXFA_ScriptContext::~CXFA_ScriptContext() {
|
| }
|
| m_mapXFAToValue.RemoveAll();
|
| ReleaseVariablesMap();
|
| - if (m_hFM2JSContext) {
|
| - XFA_FM2JS_ContextRelease(m_hFM2JSContext);
|
| - m_hFM2JSContext = NULL;
|
| - }
|
| +
|
| + delete m_hFM2JSContext;
|
| +
|
| if (m_pJsContext) {
|
| FXJSE_Context_Release(m_pJsContext);
|
| m_pJsContext = NULL;
|
| @@ -119,11 +120,12 @@ FX_BOOL CXFA_ScriptContext::RunScript(XFA_SCRIPTLANGTYPE eScriptType,
|
| if (eScriptType == XFA_SCRIPTLANGTYPE_Formcalc) {
|
| if (!m_hFM2JSContext) {
|
| m_hFM2JSContext =
|
| - XFA_FM2JS_ContextCreate(m_pIsolate, m_pJsContext, m_pDocument);
|
| + new CXFA_FM2JSContext(m_pIsolate, m_pJsContext, m_pDocument);
|
| }
|
| CFX_WideTextBuf wsJavaScript;
|
| CFX_WideString wsErrorInfo;
|
| - int32_t iFlags = XFA_FM2JS_Translate(wsScript, wsJavaScript, wsErrorInfo);
|
| + int32_t iFlags =
|
| + CXFA_FM2JSContext::Translate(wsScript, wsJavaScript, wsErrorInfo);
|
| if (iFlags) {
|
| FXJSE_Value_SetUndefined(hRetValue);
|
| return FALSE;
|
| @@ -210,8 +212,8 @@ void CXFA_ScriptContext::GlobalPropertyGetter(CFXJSE_Value* pObject,
|
| CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(pOriginalObject);
|
| CFX_WideString wsPropName = CFX_WideString::FromUTF8(szPropName);
|
| if (lpScriptContext->GetType() == XFA_SCRIPTLANGTYPE_Formcalc) {
|
| - if (szPropName == FOXIT_XFA_FM2JS_FORMCALC_RUNTIME) {
|
| - XFA_FM2JS_GlobalPropertyGetter(lpScriptContext->m_hFM2JSContext, pValue);
|
| + if (szPropName == kFormCalcRuntime) {
|
| + lpScriptContext->m_hFM2JSContext->GlobalPropertyGetter(pValue);
|
| return;
|
| }
|
| XFA_HashCode uHashCode = static_cast<XFA_HashCode>(
|
|
|