| 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 8f579b5f26f4ffbb98dc7266117c46c904db1c28..9107d097a5bfff7d3399ae7c2a88533054177a9c 100644
|
| --- a/xfa/fxfa/parser/xfa_script_imp.cpp
|
| +++ b/xfa/fxfa/parser/xfa_script_imp.cpp
|
| @@ -147,25 +147,24 @@ FX_BOOL CXFA_ScriptContext::RunScript(XFA_SCRIPTLANGTYPE eScriptType,
|
| void CXFA_ScriptContext::GlobalPropertySetter(CFXJSE_Value* pObject,
|
| const CFX_ByteStringC& szPropName,
|
| CFXJSE_Value* pValue) {
|
| - CXFA_Object* lpOrginalNode =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pObject, nullptr));
|
| - CXFA_Document* pDoc = lpOrginalNode->GetDocument();
|
| + CXFA_Object* lpOriginalNode = pObject->ToObject(nullptr);
|
| + CXFA_Document* pDoc = lpOriginalNode->GetDocument();
|
| CXFA_ScriptContext* lpScriptContext =
|
| (CXFA_ScriptContext*)pDoc->GetScriptContext();
|
| - CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(lpOrginalNode);
|
| + CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(lpOriginalNode);
|
| CFX_WideString wsPropName = CFX_WideString::FromUTF8(szPropName);
|
| uint32_t dwFlag = XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_Siblings |
|
| XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties |
|
| XFA_RESOLVENODE_Attributes;
|
| CXFA_Node* pRefNode = ToNode(lpScriptContext->GetThisObject());
|
| - if (lpOrginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) {
|
| + if (lpOriginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) {
|
| pRefNode = ToNode(lpCurNode);
|
| }
|
| if (lpScriptContext->QueryNodeByFlag(pRefNode, wsPropName.AsStringC(), pValue,
|
| dwFlag, TRUE)) {
|
| return;
|
| }
|
| - if (lpOrginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) {
|
| + if (lpOriginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) {
|
| if (FXJSE_Value_IsUndefined(pValue)) {
|
| FXJSE_Value_SetObjectOwnProp(pObject, szPropName, pValue);
|
| return;
|
| @@ -204,8 +203,7 @@ FX_BOOL CXFA_ScriptContext::QueryNodeByFlag(CXFA_Node* refNode,
|
| void CXFA_ScriptContext::GlobalPropertyGetter(CFXJSE_Value* pObject,
|
| const CFX_ByteStringC& szPropName,
|
| CFXJSE_Value* pValue) {
|
| - CXFA_Object* pOriginalObject =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pObject, nullptr));
|
| + CXFA_Object* pOriginalObject = pObject->ToObject(nullptr);
|
| CXFA_Document* pDoc = pOriginalObject->GetDocument();
|
| CXFA_ScriptContext* lpScriptContext =
|
| (CXFA_ScriptContext*)pDoc->GetScriptContext();
|
| @@ -259,8 +257,7 @@ void CXFA_ScriptContext::GlobalPropertyGetter(CFXJSE_Value* pObject,
|
| void CXFA_ScriptContext::NormalPropertyGetter(CFXJSE_Value* pOriginalValue,
|
| const CFX_ByteStringC& szPropName,
|
| CFXJSE_Value* pReturnValue) {
|
| - CXFA_Object* pOriginalObject =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pOriginalValue, nullptr));
|
| + CXFA_Object* pOriginalObject = pOriginalValue->ToObject(nullptr);
|
| if (!pOriginalObject) {
|
| FXJSE_Value_SetUndefined(pReturnValue);
|
| return;
|
| @@ -305,8 +302,7 @@ void CXFA_ScriptContext::NormalPropertyGetter(CFXJSE_Value* pOriginalValue,
|
| void CXFA_ScriptContext::NormalPropertySetter(CFXJSE_Value* pOriginalValue,
|
| const CFX_ByteStringC& szPropName,
|
| CFXJSE_Value* pReturnValue) {
|
| - CXFA_Object* pOriginalObject =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pOriginalValue, nullptr));
|
| + CXFA_Object* pOriginalObject = pOriginalValue->ToObject(nullptr);
|
| if (!pOriginalObject)
|
| return;
|
|
|
| @@ -357,8 +353,7 @@ int32_t CXFA_ScriptContext::NormalPropTypeGetter(
|
| CFXJSE_Value* pOriginalValue,
|
| const CFX_ByteStringC& szPropName,
|
| FX_BOOL bQueryIn) {
|
| - CXFA_Object* pObject =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pOriginalValue, nullptr));
|
| + CXFA_Object* pObject = pOriginalValue->ToObject(nullptr);
|
| if (!pObject)
|
| return FXJSE_ClassPropType_None;
|
|
|
| @@ -380,8 +375,7 @@ int32_t CXFA_ScriptContext::GlobalPropTypeGetter(
|
| CFXJSE_Value* pOriginalValue,
|
| const CFX_ByteStringC& szPropName,
|
| FX_BOOL bQueryIn) {
|
| - CXFA_Object* pObject =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pOriginalValue, nullptr));
|
| + CXFA_Object* pObject = pOriginalValue->ToObject(nullptr);
|
| if (!pObject)
|
| return FXJSE_ClassPropType_None;
|
|
|
| @@ -398,8 +392,7 @@ int32_t CXFA_ScriptContext::GlobalPropTypeGetter(
|
| void CXFA_ScriptContext::NormalMethodCall(CFXJSE_Value* pThis,
|
| const CFX_ByteStringC& szFuncName,
|
| CFXJSE_Arguments& args) {
|
| - CXFA_Object* pObject =
|
| - static_cast<CXFA_Object*>(FXJSE_Value_ToObject(pThis, nullptr));
|
| + CXFA_Object* pObject = pThis->ToObject(nullptr);
|
| if (!pObject)
|
| return;
|
|
|
| @@ -532,8 +525,7 @@ void CXFA_ScriptContext::ReleaseVariablesMap() {
|
| m_mapVariableToContext.GetNextAssoc(ps, pScriptNode, pVariableContext);
|
| std::unique_ptr<CFXJSE_Value> pObject(
|
| FXJSE_Context_GetGlobalObject(pVariableContext));
|
| - delete static_cast<CXFA_ThisProxy*>(
|
| - FXJSE_Value_ToObject(pObject.get(), nullptr));
|
| + delete pObject->ToProxy(nullptr);
|
| FXJSE_Context_Release(pVariableContext);
|
| }
|
| m_mapVariableToContext.RemoveAll();
|
| @@ -655,8 +647,7 @@ int32_t CXFA_ScriptContext::ResolveObjects(CXFA_Object* refNode,
|
| (rndFind.m_Nodes[0]->*(rndFind.m_pScriptAttribute->lpfnCallback))(
|
| pValue.get(), FALSE,
|
| (XFA_ATTRIBUTE)rndFind.m_pScriptAttribute->eAttribute);
|
| - rndFind.m_Nodes.SetAt(0, static_cast<CXFA_Object*>(FXJSE_Value_ToObject(
|
| - pValue.get(), nullptr)));
|
| + rndFind.m_Nodes.SetAt(0, pValue.get()->ToObject(nullptr));
|
| }
|
| int32_t iSize = m_upObjectArray.GetSize();
|
| if (iSize) {
|
|
|