| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/parser/xfa_script_imp.h" | 7 #include "xfa/fxfa/parser/xfa_script_imp.h" |
| 8 | 8 |
| 9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
| 10 #include "xfa/fxfa/app/xfa_ffnotify.h" | 10 #include "xfa/fxfa/app/xfa_ffnotify.h" |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 CFX_WideTextBuf wsJavaScript; | 89 CFX_WideTextBuf wsJavaScript; |
| 90 CFX_WideString wsErrorInfo; | 90 CFX_WideString wsErrorInfo; |
| 91 int32_t iFlags = XFA_FM2JS_Translate(wsScript, wsJavaScript, wsErrorInfo); | 91 int32_t iFlags = XFA_FM2JS_Translate(wsScript, wsJavaScript, wsErrorInfo); |
| 92 if (iFlags) { | 92 if (iFlags) { |
| 93 FXJSE_Value_SetUndefined(hRetValue); | 93 FXJSE_Value_SetUndefined(hRetValue); |
| 94 return FALSE; | 94 return FALSE; |
| 95 } | 95 } |
| 96 btScript = | 96 btScript = |
| 97 FX_UTF8Encode(wsJavaScript.GetBuffer(), wsJavaScript.GetLength()); | 97 FX_UTF8Encode(wsJavaScript.GetBuffer(), wsJavaScript.GetLength()); |
| 98 } else { | 98 } else { |
| 99 btScript = FX_UTF8Encode(wsScript.GetPtr(), wsScript.GetLength()); | 99 btScript = FX_UTF8Encode(wsScript.raw_str(), wsScript.GetLength()); |
| 100 } | 100 } |
| 101 CXFA_Object* pOriginalObject = m_pThisObject; | 101 CXFA_Object* pOriginalObject = m_pThisObject; |
| 102 m_pThisObject = pThisObject; | 102 m_pThisObject = pThisObject; |
| 103 FXJSE_HVALUE pValue = pThisObject ? GetJSValueFromMap(pThisObject) : NULL; | 103 FXJSE_HVALUE pValue = pThisObject ? GetJSValueFromMap(pThisObject) : NULL; |
| 104 FX_BOOL bRet = FXJSE_ExecuteScript(m_hJsContext, btScript, hRetValue, pValue); | 104 FX_BOOL bRet = FXJSE_ExecuteScript(m_hJsContext, btScript, hRetValue, pValue); |
| 105 m_pThisObject = pOriginalObject; | 105 m_pThisObject = pOriginalObject; |
| 106 m_eScriptType = eSaveType; | 106 m_eScriptType = eSaveType; |
| 107 return bRet; | 107 return bRet; |
| 108 } | 108 } |
| 109 void CXFA_ScriptContext::GlobalPropertySetter(FXJSE_HOBJECT hObject, | 109 void CXFA_ScriptContext::GlobalPropertySetter(FXJSE_HOBJECT hObject, |
| 110 const CFX_ByteStringC& szPropName, | 110 const CFX_ByteStringC& szPropName, |
| 111 FXJSE_HVALUE hValue) { | 111 FXJSE_HVALUE hValue) { |
| 112 CXFA_Object* lpOrginalNode = | 112 CXFA_Object* lpOrginalNode = |
| 113 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); | 113 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); |
| 114 CXFA_Document* pDoc = lpOrginalNode->GetDocument(); | 114 CXFA_Document* pDoc = lpOrginalNode->GetDocument(); |
| 115 CXFA_ScriptContext* lpScriptContext = | 115 CXFA_ScriptContext* lpScriptContext = |
| 116 (CXFA_ScriptContext*)pDoc->GetScriptContext(); | 116 (CXFA_ScriptContext*)pDoc->GetScriptContext(); |
| 117 CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(lpOrginalNode); | 117 CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(lpOrginalNode); |
| 118 CFX_WideString wsPropName = CFX_WideString::FromUTF8( | 118 CFX_WideString wsPropName = CFX_WideString::FromUTF8( |
| 119 (const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength()); | 119 (const FX_CHAR*)szPropName.raw_str(), szPropName.GetLength()); |
| 120 uint32_t dwFlag = XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_Siblings | | 120 uint32_t dwFlag = XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_Siblings | |
| 121 XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | | 121 XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | |
| 122 XFA_RESOLVENODE_Attributes; | 122 XFA_RESOLVENODE_Attributes; |
| 123 CXFA_Node* pRefNode = ToNode(lpScriptContext->GetThisObject()); | 123 CXFA_Node* pRefNode = ToNode(lpScriptContext->GetThisObject()); |
| 124 if (lpOrginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) { | 124 if (lpOrginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) { |
| 125 pRefNode = ToNode(lpCurNode); | 125 pRefNode = ToNode(lpCurNode); |
| 126 } | 126 } |
| 127 if (lpScriptContext->QueryNodeByFlag(pRefNode, wsPropName, hValue, dwFlag, | 127 if (lpScriptContext->QueryNodeByFlag(pRefNode, wsPropName, hValue, dwFlag, |
| 128 TRUE)) { | 128 TRUE)) { |
| 129 return; | 129 return; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 void CXFA_ScriptContext::GlobalPropertyGetter(FXJSE_HOBJECT hObject, | 168 void CXFA_ScriptContext::GlobalPropertyGetter(FXJSE_HOBJECT hObject, |
| 169 const CFX_ByteStringC& szPropName, | 169 const CFX_ByteStringC& szPropName, |
| 170 FXJSE_HVALUE hValue) { | 170 FXJSE_HVALUE hValue) { |
| 171 CXFA_Object* pOrginalObject = | 171 CXFA_Object* pOrginalObject = |
| 172 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); | 172 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); |
| 173 CXFA_Document* pDoc = pOrginalObject->GetDocument(); | 173 CXFA_Document* pDoc = pOrginalObject->GetDocument(); |
| 174 CXFA_ScriptContext* lpScriptContext = | 174 CXFA_ScriptContext* lpScriptContext = |
| 175 (CXFA_ScriptContext*)pDoc->GetScriptContext(); | 175 (CXFA_ScriptContext*)pDoc->GetScriptContext(); |
| 176 CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(pOrginalObject); | 176 CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(pOrginalObject); |
| 177 CFX_WideString wsPropName = CFX_WideString::FromUTF8( | 177 CFX_WideString wsPropName = CFX_WideString::FromUTF8( |
| 178 (const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength()); | 178 (const FX_CHAR*)szPropName.raw_str(), szPropName.GetLength()); |
| 179 if (lpScriptContext->GetType() == XFA_SCRIPTLANGTYPE_Formcalc) { | 179 if (lpScriptContext->GetType() == XFA_SCRIPTLANGTYPE_Formcalc) { |
| 180 if (szPropName == FOXIT_XFA_FM2JS_FORMCALC_RUNTIME) { | 180 if (szPropName == FOXIT_XFA_FM2JS_FORMCALC_RUNTIME) { |
| 181 XFA_FM2JS_GlobalPropertyGetter(lpScriptContext->m_hFM2JSContext, hValue); | 181 XFA_FM2JS_GlobalPropertyGetter(lpScriptContext->m_hFM2JSContext, hValue); |
| 182 return; | 182 return; |
| 183 } | 183 } |
| 184 uint32_t uHashCode = | 184 uint32_t uHashCode = |
| 185 FX_HashCode_String_GetW(wsPropName, wsPropName.GetLength()); | 185 FX_HashCode_String_GetW(wsPropName, wsPropName.GetLength()); |
| 186 if (uHashCode != XFA_HASHCODE_Layout) { | 186 if (uHashCode != XFA_HASHCODE_Layout) { |
| 187 CXFA_Object* pObject = | 187 CXFA_Object* pObject = |
| 188 lpScriptContext->GetDocument()->GetXFAObject(uHashCode); | 188 lpScriptContext->GetDocument()->GetXFAObject(uHashCode); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 void CXFA_ScriptContext::NormalPropertyGetter(FXJSE_HOBJECT hObject, | 224 void CXFA_ScriptContext::NormalPropertyGetter(FXJSE_HOBJECT hObject, |
| 225 const CFX_ByteStringC& szPropName, | 225 const CFX_ByteStringC& szPropName, |
| 226 FXJSE_HVALUE hValue) { | 226 FXJSE_HVALUE hValue) { |
| 227 CXFA_Object* pOrginalObject = | 227 CXFA_Object* pOrginalObject = |
| 228 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); | 228 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); |
| 229 if (pOrginalObject == NULL) { | 229 if (pOrginalObject == NULL) { |
| 230 FXJSE_Value_SetUndefined(hValue); | 230 FXJSE_Value_SetUndefined(hValue); |
| 231 return; | 231 return; |
| 232 } | 232 } |
| 233 CFX_WideString wsPropName = CFX_WideString::FromUTF8( | 233 CFX_WideString wsPropName = CFX_WideString::FromUTF8( |
| 234 (const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength()); | 234 (const FX_CHAR*)szPropName.raw_str(), szPropName.GetLength()); |
| 235 CXFA_ScriptContext* lpScriptContext = | 235 CXFA_ScriptContext* lpScriptContext = |
| 236 (CXFA_ScriptContext*)pOrginalObject->GetDocument()->GetScriptContext(); | 236 (CXFA_ScriptContext*)pOrginalObject->GetDocument()->GetScriptContext(); |
| 237 CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOrginalObject); | 237 CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOrginalObject); |
| 238 if (wsPropName == FX_WSTRC(L"xfa")) { | 238 if (wsPropName == FX_WSTRC(L"xfa")) { |
| 239 FXJSE_HVALUE pValue = lpScriptContext->GetJSValueFromMap( | 239 FXJSE_HVALUE pValue = lpScriptContext->GetJSValueFromMap( |
| 240 lpScriptContext->GetDocument()->GetRoot()); | 240 lpScriptContext->GetDocument()->GetRoot()); |
| 241 FXJSE_Value_Set(hValue, pValue); | 241 FXJSE_Value_Set(hValue, pValue); |
| 242 return; | 242 return; |
| 243 } | 243 } |
| 244 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | | 244 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | |
| (...skipping 28 matching lines...) Expand all Loading... |
| 273 FXJSE_HVALUE hValue) { | 273 FXJSE_HVALUE hValue) { |
| 274 CXFA_Object* pOrginalObject = | 274 CXFA_Object* pOrginalObject = |
| 275 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); | 275 (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); |
| 276 if (pOrginalObject == NULL) { | 276 if (pOrginalObject == NULL) { |
| 277 return; | 277 return; |
| 278 } | 278 } |
| 279 CXFA_ScriptContext* lpScriptContext = | 279 CXFA_ScriptContext* lpScriptContext = |
| 280 (CXFA_ScriptContext*)pOrginalObject->GetDocument()->GetScriptContext(); | 280 (CXFA_ScriptContext*)pOrginalObject->GetDocument()->GetScriptContext(); |
| 281 CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOrginalObject); | 281 CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOrginalObject); |
| 282 CFX_WideString wsPropName = CFX_WideString::FromUTF8( | 282 CFX_WideString wsPropName = CFX_WideString::FromUTF8( |
| 283 (const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength()); | 283 (const FX_CHAR*)szPropName.raw_str(), szPropName.GetLength()); |
| 284 const XFA_SCRIPTATTRIBUTEINFO* lpAttributeInfo = | 284 const XFA_SCRIPTATTRIBUTEINFO* lpAttributeInfo = |
| 285 XFA_GetScriptAttributeByName(pObject->GetClassID(), wsPropName); | 285 XFA_GetScriptAttributeByName(pObject->GetClassID(), wsPropName); |
| 286 if (lpAttributeInfo) { | 286 if (lpAttributeInfo) { |
| 287 (pObject->*(lpAttributeInfo->lpfnCallback))( | 287 (pObject->*(lpAttributeInfo->lpfnCallback))( |
| 288 hValue, TRUE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute); | 288 hValue, TRUE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute); |
| 289 } else { | 289 } else { |
| 290 if (pObject->IsNode()) { | 290 if (pObject->IsNode()) { |
| 291 if (wsPropName.GetAt(0) == '#') { | 291 if (wsPropName.GetAt(0) == '#') { |
| 292 wsPropName = wsPropName.Right(wsPropName.GetLength() - 1); | 292 wsPropName = wsPropName.Right(wsPropName.GetLength() - 1); |
| 293 } | 293 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 FX_BOOL bQueryIn) { | 325 FX_BOOL bQueryIn) { |
| 326 CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); | 326 CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); |
| 327 if (pObject == NULL) { | 327 if (pObject == NULL) { |
| 328 return FXJSE_ClassPropType_None; | 328 return FXJSE_ClassPropType_None; |
| 329 } | 329 } |
| 330 CXFA_ScriptContext* lpScriptContext = | 330 CXFA_ScriptContext* lpScriptContext = |
| 331 (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext(); | 331 (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext(); |
| 332 pObject = lpScriptContext->GetVariablesThis(pObject); | 332 pObject = lpScriptContext->GetVariablesThis(pObject); |
| 333 XFA_ELEMENT objElement = pObject->GetClassID(); | 333 XFA_ELEMENT objElement = pObject->GetClassID(); |
| 334 CFX_WideString wsPropName = CFX_WideString::FromUTF8( | 334 CFX_WideString wsPropName = CFX_WideString::FromUTF8( |
| 335 (const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength()); | 335 (const FX_CHAR*)szPropName.raw_str(), szPropName.GetLength()); |
| 336 if (XFA_GetMethodByName(objElement, wsPropName)) { | 336 if (XFA_GetMethodByName(objElement, wsPropName)) { |
| 337 return FXJSE_ClassPropType_Method; | 337 return FXJSE_ClassPropType_Method; |
| 338 } | 338 } |
| 339 if (bQueryIn && !XFA_GetScriptAttributeByName(objElement, wsPropName)) { | 339 if (bQueryIn && !XFA_GetScriptAttributeByName(objElement, wsPropName)) { |
| 340 return FXJSE_ClassPropType_None; | 340 return FXJSE_ClassPropType_None; |
| 341 } | 341 } |
| 342 return FXJSE_ClassPropType_Property; | 342 return FXJSE_ClassPropType_Property; |
| 343 } | 343 } |
| 344 int32_t CXFA_ScriptContext::GlobalPropTypeGetter( | 344 int32_t CXFA_ScriptContext::GlobalPropTypeGetter( |
| 345 FXJSE_HOBJECT hObject, | 345 FXJSE_HOBJECT hObject, |
| 346 const CFX_ByteStringC& szPropName, | 346 const CFX_ByteStringC& szPropName, |
| 347 FX_BOOL bQueryIn) { | 347 FX_BOOL bQueryIn) { |
| 348 CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); | 348 CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL); |
| 349 if (pObject == NULL) { | 349 if (pObject == NULL) { |
| 350 return FXJSE_ClassPropType_None; | 350 return FXJSE_ClassPropType_None; |
| 351 } | 351 } |
| 352 CXFA_ScriptContext* lpScriptContext = | 352 CXFA_ScriptContext* lpScriptContext = |
| 353 (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext(); | 353 (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext(); |
| 354 pObject = lpScriptContext->GetVariablesThis(pObject); | 354 pObject = lpScriptContext->GetVariablesThis(pObject); |
| 355 XFA_ELEMENT objElement = pObject->GetClassID(); | 355 XFA_ELEMENT objElement = pObject->GetClassID(); |
| 356 CFX_WideString wsPropName = CFX_WideString::FromUTF8( | 356 CFX_WideString wsPropName = CFX_WideString::FromUTF8( |
| 357 (const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength()); | 357 (const FX_CHAR*)szPropName.raw_str(), szPropName.GetLength()); |
| 358 if (XFA_GetMethodByName(objElement, wsPropName)) { | 358 if (XFA_GetMethodByName(objElement, wsPropName)) { |
| 359 return FXJSE_ClassPropType_Method; | 359 return FXJSE_ClassPropType_Method; |
| 360 } | 360 } |
| 361 return FXJSE_ClassPropType_Property; | 361 return FXJSE_ClassPropType_Property; |
| 362 } | 362 } |
| 363 void CXFA_ScriptContext::NormalMethodCall(FXJSE_HOBJECT hThis, | 363 void CXFA_ScriptContext::NormalMethodCall(FXJSE_HOBJECT hThis, |
| 364 const CFX_ByteStringC& szFuncName, | 364 const CFX_ByteStringC& szFuncName, |
| 365 CFXJSE_Arguments& args) { | 365 CFXJSE_Arguments& args) { |
| 366 CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hThis, NULL); | 366 CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hThis, NULL); |
| 367 if (pObject == NULL) { | 367 if (pObject == NULL) { |
| 368 return; | 368 return; |
| 369 } | 369 } |
| 370 CXFA_ScriptContext* lpScriptContext = | 370 CXFA_ScriptContext* lpScriptContext = |
| 371 (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext(); | 371 (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext(); |
| 372 pObject = lpScriptContext->GetVariablesThis(pObject); | 372 pObject = lpScriptContext->GetVariablesThis(pObject); |
| 373 CFX_WideString wsFunName = CFX_WideString::FromUTF8( | 373 CFX_WideString wsFunName = CFX_WideString::FromUTF8( |
| 374 (const FX_CHAR*)szFuncName.GetPtr(), szFuncName.GetLength()); | 374 (const FX_CHAR*)szFuncName.raw_str(), szFuncName.GetLength()); |
| 375 const XFA_METHODINFO* lpMethodInfo = | 375 const XFA_METHODINFO* lpMethodInfo = |
| 376 XFA_GetMethodByName(pObject->GetClassID(), wsFunName); | 376 XFA_GetMethodByName(pObject->GetClassID(), wsFunName); |
| 377 if (NULL == lpMethodInfo) { | 377 if (NULL == lpMethodInfo) { |
| 378 return; | 378 return; |
| 379 } | 379 } |
| 380 (pObject->*(lpMethodInfo->lpfnCallback))(&args); | 380 (pObject->*(lpMethodInfo->lpfnCallback))(&args); |
| 381 } | 381 } |
| 382 FX_BOOL CXFA_ScriptContext::IsStrictScopeInJavaScript() { | 382 FX_BOOL CXFA_ScriptContext::IsStrictScopeInJavaScript() { |
| 383 return m_pDocument->HasFlag(XFA_DOCFLAG_StrictScoping); | 383 return m_pDocument->HasFlag(XFA_DOCFLAG_StrictScoping); |
| 384 } | 384 } |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 } | 457 } |
| 458 CXFA_Node* pTextNode = pScriptNode->GetNodeItem(XFA_NODEITEM_FirstChild); | 458 CXFA_Node* pTextNode = pScriptNode->GetNodeItem(XFA_NODEITEM_FirstChild); |
| 459 if (!pTextNode) { | 459 if (!pTextNode) { |
| 460 return FALSE; | 460 return FALSE; |
| 461 } | 461 } |
| 462 CFX_WideStringC wsScript; | 462 CFX_WideStringC wsScript; |
| 463 if (!pTextNode->TryCData(XFA_ATTRIBUTE_Value, wsScript)) { | 463 if (!pTextNode->TryCData(XFA_ATTRIBUTE_Value, wsScript)) { |
| 464 return FALSE; | 464 return FALSE; |
| 465 } | 465 } |
| 466 CFX_ByteString btScript = | 466 CFX_ByteString btScript = |
| 467 FX_UTF8Encode(wsScript.GetPtr(), wsScript.GetLength()); | 467 FX_UTF8Encode(wsScript.raw_str(), wsScript.GetLength()); |
| 468 FXJSE_HVALUE hRetValue = FXJSE_Value_Create(m_hJsRuntime); | 468 FXJSE_HVALUE hRetValue = FXJSE_Value_Create(m_hJsRuntime); |
| 469 CXFA_Node* pThisObject = pParent->GetNodeItem(XFA_NODEITEM_Parent); | 469 CXFA_Node* pThisObject = pParent->GetNodeItem(XFA_NODEITEM_Parent); |
| 470 FXJSE_HCONTEXT hVariablesContext = | 470 FXJSE_HCONTEXT hVariablesContext = |
| 471 CreateVariablesContext(pScriptNode, pThisObject); | 471 CreateVariablesContext(pScriptNode, pThisObject); |
| 472 CXFA_Object* pOriginalObject = m_pThisObject; | 472 CXFA_Object* pOriginalObject = m_pThisObject; |
| 473 m_pThisObject = pThisObject; | 473 m_pThisObject = pThisObject; |
| 474 FX_BOOL bRet = FXJSE_ExecuteScript(hVariablesContext, btScript, hRetValue); | 474 FX_BOOL bRet = FXJSE_ExecuteScript(hVariablesContext, btScript, hRetValue); |
| 475 m_pThisObject = pOriginalObject; | 475 m_pThisObject = pOriginalObject; |
| 476 FXJSE_Value_Release(hRetValue); | 476 FXJSE_Value_Release(hRetValue); |
| 477 return bRet; | 477 return bRet; |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 771 } | 771 } |
| 772 } | 772 } |
| 773 void CXFA_ScriptContext::AddNodesOfRunScript(CXFA_Node* pNode) { | 773 void CXFA_ScriptContext::AddNodesOfRunScript(CXFA_Node* pNode) { |
| 774 if (!m_pScriptNodeArray) { | 774 if (!m_pScriptNodeArray) { |
| 775 return; | 775 return; |
| 776 } | 776 } |
| 777 if (m_pScriptNodeArray->Find(pNode) == -1) { | 777 if (m_pScriptNodeArray->Find(pNode) == -1) { |
| 778 m_pScriptNodeArray->Add(pNode); | 778 m_pScriptNodeArray->Add(pNode); |
| 779 } | 779 } |
| 780 } | 780 } |
| OLD | NEW |