Merge to XFA: Remove FX_BSTR and FX_WSTR typedefs.
[pdfium.git] / xfa / src / fxfa / src / parser / xfa_script_imp.cpp
index cd196f5..8e79b75 100644 (file)
@@ -53,7 +53,7 @@ CXFA_ScriptContext::~CXFA_ScriptContext()
         m_pResolveProcessor = NULL;\r
     }\r
     m_upObjectArray.RemoveAll();\r
-    for (FX_INT32 i = 0; i < m_CacheListArray.GetSize(); i++) {\r
+    for (int32_t i = 0; i < m_CacheListArray.GetSize(); i++) {\r
         delete ((CXFA_NodeList*)m_CacheListArray[i]);\r
     }\r
     m_CacheListArray.RemoveAll();\r
@@ -81,7 +81,7 @@ void CXFA_ScriptContext::Release()
 {\r
     delete this;\r
 }\r
-FX_BOOL CXFA_ScriptContext::RunScript(XFA_SCRIPTLANGTYPE eScriptType, FX_WSTR wsScript, FXJSE_HVALUE hRetValue, CXFA_Object* pThisObject )\r
+FX_BOOL CXFA_ScriptContext::RunScript(XFA_SCRIPTLANGTYPE eScriptType, const CFX_WideStringC& wsScript, FXJSE_HVALUE hRetValue, CXFA_Object* pThisObject )\r
 {\r
     CFX_ByteString btScript;\r
     XFA_SCRIPTLANGTYPE eSaveType = m_eScriptType;\r
@@ -93,7 +93,7 @@ FX_BOOL CXFA_ScriptContext::RunScript(XFA_SCRIPTLANGTYPE eScriptType, FX_WSTR ws
         }\r
         CFX_WideTextBuf wsJavaScript;\r
         CFX_WideString wsErrorInfo;\r
-        FX_INT32 iFlags = XFA_FM2JS_Translate(wsScript, wsJavaScript, wsErrorInfo);\r
+        int32_t iFlags = XFA_FM2JS_Translate(wsScript, wsJavaScript, wsErrorInfo);\r
         if(iFlags) {\r
             FXJSE_Value_SetUndefined(hRetValue);\r
             return FALSE;\r
@@ -132,13 +132,13 @@ FX_BOOL CXFA_ScriptContext::RunScript(XFA_SCRIPTLANGTYPE eScriptType, FX_WSTR ws
     m_eScriptType = eSaveType;\r
     return bRet;\r
 }\r
-void CXFA_ScriptContext::GlobalPropertySetter(FXJSE_HOBJECT hObject, FX_BSTR szPropName, FXJSE_HVALUE hValue)\r
+void CXFA_ScriptContext::GlobalPropertySetter(FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue)\r
 {\r
     CXFA_Object* lpOrginalNode = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL);\r
     CXFA_Document* pDoc = lpOrginalNode->GetDocument();\r
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pDoc->GetScriptContext();\r
     CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(lpOrginalNode);\r
-    CFX_WideString wsPropName = CFX_WideString::FromUTF8((FX_LPCSTR)szPropName.GetPtr(), szPropName.GetLength());\r
+    CFX_WideString wsPropName = CFX_WideString::FromUTF8((const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength());\r
     FX_DWORD dwFlag = XFA_RESOLVENODE_Parent | XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Attributes;\r
     CXFA_Node* pRefNode = (CXFA_Node*)lpScriptContext->GetThisObject();\r
     if(lpOrginalNode->GetObjectType() == XFA_OBJECTTYPE_VariablesThis) {\r
@@ -159,10 +159,10 @@ void CXFA_ScriptContext::GlobalPropertySetter(FXJSE_HOBJECT hObject, FX_BSTR szP
     }\r
     pNotify->GetDocProvider()->SetGlobalProperty(pNotify->GetHDOC(), szPropName, hValue);\r
 }\r
-FX_BOOL        CXFA_ScriptContext::QueryNodeByFlag(CXFA_Node* refNode, FX_WSTR propname, FXJSE_HVALUE hValue, FX_DWORD dwFlag,  FX_BOOL bSetting)\r
+FX_BOOL        CXFA_ScriptContext::QueryNodeByFlag(CXFA_Node* refNode, const CFX_WideStringC& propname, FXJSE_HVALUE hValue, FX_DWORD dwFlag,  FX_BOOL bSetting)\r
 {\r
     XFA_RESOLVENODE_RS resolveRs;\r
-    FX_INT32 iRet = ResolveObjects(refNode, propname, resolveRs, dwFlag);\r
+    int32_t iRet = ResolveObjects(refNode, propname, resolveRs, dwFlag);\r
     FX_BOOL bResult = FALSE;\r
     if (iRet > 0) {\r
         bResult = TRUE;\r
@@ -178,19 +178,19 @@ FX_BOOL   CXFA_ScriptContext::QueryNodeByFlag(CXFA_Node* refNode, FX_WSTR propname
     }\r
     return bResult;\r
 }\r
-void CXFA_ScriptContext::GlobalPropertyGetter(FXJSE_HOBJECT hObject, FX_BSTR szPropName, FXJSE_HVALUE hValue)\r
+void CXFA_ScriptContext::GlobalPropertyGetter(FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue)\r
 {\r
     CXFA_Object* pOrginalObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL);\r
     CXFA_Document* pDoc = pOrginalObject->GetDocument();\r
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pDoc->GetScriptContext();\r
     CXFA_Object* lpCurNode = lpScriptContext->GetVariablesThis(pOrginalObject);\r
-    CFX_WideString wsPropName = CFX_WideString::FromUTF8((FX_LPCSTR)szPropName.GetPtr(), szPropName.GetLength());\r
+    CFX_WideString wsPropName = CFX_WideString::FromUTF8((const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength());\r
     if (lpScriptContext->GetType() == XFA_SCRIPTLANGTYPE_Formcalc) {\r
         if(szPropName == FX_BSTRC(FOXIT_XFA_FM2JS_FORMCALC_RUNTIME)) {\r
             XFA_FM2JS_GlobalPropertyGetter(lpScriptContext->m_hFM2JSContext, hValue);\r
             return;\r
         }\r
-        FX_UINT32 uHashCode = FX_HashCode_String_GetW(wsPropName, wsPropName.GetLength());\r
+        uint32_t uHashCode = FX_HashCode_String_GetW(wsPropName, wsPropName.GetLength());\r
         if(uHashCode != XFA_HASHCODE_Layout) {\r
             CXFA_Object * pObject = lpScriptContext->GetDocument()->GetXFANode(uHashCode);\r
             if (pObject) {\r
@@ -224,14 +224,14 @@ void CXFA_ScriptContext::GlobalPropertyGetter(FXJSE_HOBJECT hObject, FX_BSTR szP
     }\r
     pNotify->GetDocProvider()->GetGlobalProperty(pNotify->GetHDOC(), szPropName, hValue);\r
 }\r
-void CXFA_ScriptContext::NormalPropertyGetter(FXJSE_HOBJECT hObject, FX_BSTR szPropName, FXJSE_HVALUE hValue)\r
+void CXFA_ScriptContext::NormalPropertyGetter(FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue)\r
 {\r
     CXFA_Object* pOrginalObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL);\r
     if(pOrginalObject == NULL) {\r
         FXJSE_Value_SetUndefined(hValue);\r
         return;\r
     }\r
-    CFX_WideString wsPropName = CFX_WideString::FromUTF8((FX_LPCSTR)szPropName.GetPtr(), szPropName.GetLength());\r
+    CFX_WideString wsPropName = CFX_WideString::FromUTF8((const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength());\r
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pOrginalObject->GetDocument()->GetScriptContext();\r
     CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOrginalObject);\r
     if(wsPropName == FX_WSTRC(L"xfa")) {\r
@@ -259,7 +259,7 @@ void CXFA_ScriptContext::NormalPropertyGetter(FXJSE_HOBJECT hObject, FX_BSTR szP
         FXJSE_Value_SetUndefined(hValue);\r
     }\r
 }\r
-void CXFA_ScriptContext::NormalPropertySetter(FXJSE_HOBJECT hObject, FX_BSTR szPropName, FXJSE_HVALUE hValue)\r
+void CXFA_ScriptContext::NormalPropertySetter(FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue)\r
 {\r
     CXFA_Object* pOrginalObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL);\r
     if(pOrginalObject == NULL) {\r
@@ -267,7 +267,7 @@ void CXFA_ScriptContext::NormalPropertySetter(FXJSE_HOBJECT hObject, FX_BSTR szP
     }\r
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pOrginalObject->GetDocument()->GetScriptContext();\r
     CXFA_Object* pObject = lpScriptContext->GetVariablesThis(pOrginalObject);\r
-    CFX_WideString wsPropName = CFX_WideString::FromUTF8((FX_LPCSTR)szPropName.GetPtr(), szPropName.GetLength());\r
+    CFX_WideString wsPropName = CFX_WideString::FromUTF8((const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength());\r
     XFA_LPCSCRIPTATTRIBUTEINFO lpAttributeInfo = XFA_GetScriptAttributeByName(pObject->GetClassID(), wsPropName);\r
     if(lpAttributeInfo) {\r
         (pObject->*(lpAttributeInfo->lpfnCallback))(hValue, TRUE, (XFA_ATTRIBUTE)lpAttributeInfo->eAttribute);\r
@@ -299,7 +299,7 @@ void CXFA_ScriptContext::NormalPropertySetter(FXJSE_HOBJECT hObject, FX_BSTR szP
         }\r
     }\r
 }\r
-FX_INT32 CXFA_ScriptContext::NormalPropTypeGetter(FXJSE_HOBJECT hObject, FX_BSTR szPropName, FX_BOOL bQueryIn)\r
+int32_t CXFA_ScriptContext::NormalPropTypeGetter(FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FX_BOOL bQueryIn)\r
 {\r
     CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL);\r
     if(pObject == NULL) {\r
@@ -308,7 +308,7 @@ FX_INT32 CXFA_ScriptContext::NormalPropTypeGetter(FXJSE_HOBJECT hObject, FX_BSTR
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext();\r
     pObject = lpScriptContext->GetVariablesThis(pObject);\r
     XFA_ELEMENT objElement = pObject->GetClassID();\r
-    CFX_WideString wsPropName = CFX_WideString::FromUTF8((FX_LPCSTR)szPropName.GetPtr(), szPropName.GetLength());\r
+    CFX_WideString wsPropName = CFX_WideString::FromUTF8((const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength());\r
     if(XFA_GetMethodByName(objElement, wsPropName)) {\r
         return FXJSE_ClassPropType_Method;\r
     }\r
@@ -317,7 +317,7 @@ FX_INT32 CXFA_ScriptContext::NormalPropTypeGetter(FXJSE_HOBJECT hObject, FX_BSTR
     }\r
     return FXJSE_ClassPropType_Property;\r
 }\r
-FX_INT32       CXFA_ScriptContext::GlobalPropTypeGetter(FXJSE_HOBJECT hObject, FX_BSTR szPropName, FX_BOOL bQueryIn)\r
+int32_t        CXFA_ScriptContext::GlobalPropTypeGetter(FXJSE_HOBJECT hObject, const CFX_ByteStringC& szPropName, FX_BOOL bQueryIn)\r
 {\r
     CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hObject, NULL);\r
     if(pObject == NULL) {\r
@@ -326,13 +326,13 @@ FX_INT32  CXFA_ScriptContext::GlobalPropTypeGetter(FXJSE_HOBJECT hObject, FX_BSTR
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext();\r
     pObject = lpScriptContext->GetVariablesThis(pObject);\r
     XFA_ELEMENT objElement = pObject->GetClassID();\r
-    CFX_WideString wsPropName = CFX_WideString::FromUTF8((FX_LPCSTR)szPropName.GetPtr(), szPropName.GetLength());\r
+    CFX_WideString wsPropName = CFX_WideString::FromUTF8((const FX_CHAR*)szPropName.GetPtr(), szPropName.GetLength());\r
     if(XFA_GetMethodByName(objElement, wsPropName)) {\r
         return FXJSE_ClassPropType_Method;\r
     }\r
     return FXJSE_ClassPropType_Property;\r
 }\r
-void CXFA_ScriptContext::NormalMethodCall(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_ScriptContext::NormalMethodCall(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_Object* pObject = (CXFA_Object*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(pObject == NULL) {\r
@@ -340,7 +340,7 @@ void CXFA_ScriptContext::NormalMethodCall(FXJSE_HOBJECT hThis, FX_BSTR szFuncNam
     }\r
     CXFA_ScriptContext* lpScriptContext = (CXFA_ScriptContext*)pObject->GetDocument()->GetScriptContext();\r
     pObject = lpScriptContext->GetVariablesThis(pObject);\r
-    CFX_WideString wsFunName = CFX_WideString::FromUTF8((FX_LPCSTR)szFuncName.GetPtr(), szFuncName.GetLength());\r
+    CFX_WideString wsFunName = CFX_WideString::FromUTF8((const FX_CHAR*)szFuncName.GetPtr(), szFuncName.GetLength());\r
     XFA_LPCMETHODINFO lpMethodInfo = XFA_GetMethodByName(pObject->GetClassID(), wsFunName);\r
     if(NULL == lpMethodInfo) {\r
         return;\r
@@ -436,7 +436,7 @@ FX_BOOL CXFA_ScriptContext::RunVariablesScript(CXFA_Node* pScriptNode)
     }\r
     return TRUE;\r
 }\r
-FX_BOOL CXFA_ScriptContext::QueryVariableHValue(CXFA_Node* pScriptNode, FX_BSTR szPropName, FXJSE_HVALUE hValue, FX_BOOL bGetter)\r
+FX_BOOL CXFA_ScriptContext::QueryVariableHValue(CXFA_Node* pScriptNode, const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue, FX_BOOL bGetter)\r
 {\r
     if(pScriptNode->GetClassID() != XFA_ELEMENT_Script) {\r
         return FALSE;\r
@@ -446,7 +446,7 @@ FX_BOOL CXFA_ScriptContext::QueryVariableHValue(CXFA_Node* pScriptNode, FX_BSTR
         return FALSE;\r
     }\r
     FX_BOOL bRes = FALSE;\r
-    FX_LPVOID lpVariables = m_mapVariableToHValue.GetValueAt(pScriptNode);\r
+    void* lpVariables = m_mapVariableToHValue.GetValueAt(pScriptNode);\r
     if(lpVariables) {\r
         FXJSE_HCONTEXT hVariableContext = (FXJSE_HCONTEXT)lpVariables;\r
         FXJSE_HVALUE hObject = FXJSE_Context_GetGlobalObject(hVariableContext);\r
@@ -470,7 +470,7 @@ FX_BOOL CXFA_ScriptContext::QueryVariableHValue(CXFA_Node* pScriptNode, FX_BSTR
     }\r
     return bRes;\r
 }\r
-FX_BOOL CXFA_ScriptContext::QueryBuiltinHValue(FX_BSTR szPropName, FXJSE_HVALUE hValue)\r
+FX_BOOL CXFA_ScriptContext::QueryBuiltinHValue(const CFX_ByteStringC& szPropName, FXJSE_HVALUE hValue)\r
 {\r
     void* pBuiltin = NULL;\r
     if ((m_dwBuiltInInFlags & XFA_JSBUILTIN_HasCount) && m_JSBuiltInObjects.Lookup(szPropName, pBuiltin)) {\r
@@ -524,7 +524,7 @@ void CXFA_ScriptContext::AddJSBuiltinObject(XFA_LPCJSBUILTININFO pBuitinObject)
     }\r
     m_JSBuiltInObjects.SetAt(pBuitinObject->pName, (void*)pBuitinObject);\r
 }\r
-FX_INT32 CXFA_ScriptContext::ResolveObjects(CXFA_Object* refNode, FX_WSTR wsExpression, XFA_RESOLVENODE_RS& resolveNodeRS,  FX_DWORD dwStyles, CXFA_Node* bindNode)\r
+int32_t CXFA_ScriptContext::ResolveObjects(CXFA_Object* refNode, const CFX_WideStringC& wsExpression, XFA_RESOLVENODE_RS& resolveNodeRS,  FX_DWORD dwStyles, CXFA_Node* bindNode)\r
 {\r
     if (wsExpression.IsEmpty()) {\r
         return 0;\r
@@ -542,9 +542,9 @@ FX_INT32 CXFA_ScriptContext::ResolveObjects(CXFA_Object* refNode, FX_WSTR wsExpr
     m_pResolveProcessor->GetNodeHelper()->m_pCreateParent = NULL;\r
     m_pResolveProcessor->GetNodeHelper()->m_iCurAllStart = -1;\r
     CXFA_ResolveNodesData rndFind;\r
-    FX_INT32 nStart = 0;\r
-    FX_INT32 nLevel = 0;\r
-    FX_INT32 nRet = -1;\r
+    int32_t nStart = 0;\r
+    int32_t nLevel = 0;\r
+    int32_t nRet = -1;\r
     rndFind.m_pSC = this;\r
     CXFA_ObjArray findNodes;\r
     if (refNode != NULL) {\r
@@ -552,10 +552,10 @@ FX_INT32 CXFA_ScriptContext::ResolveObjects(CXFA_Object* refNode, FX_WSTR wsExpr
     } else {\r
         findNodes.Add(m_pDocument->GetRoot());\r
     }\r
-    FX_INT32 nNodes = 0;\r
+    int32_t nNodes = 0;\r
     while (TRUE) {\r
         nNodes = findNodes.GetSize();\r
-        FX_INT32 i = 0;\r
+        int32_t i = 0;\r
         rndFind.m_dwStyles = dwStyles;\r
         m_pResolveProcessor->m_iCurStart = nStart;\r
         nStart = m_pResolveProcessor->XFA_ResolveNodes_GetFilter(wsExpression, nStart, rndFind);\r
@@ -614,7 +614,7 @@ FX_INT32 CXFA_ScriptContext::ResolveObjects(CXFA_Object* refNode, FX_WSTR wsExpr
                 rndFind.m_Nodes.SetAt(0, (CXFA_Object*)FXJSE_Value_ToObject(hValue, NULL));\r
                 FXJSE_Value_Release(hValue);\r
             }\r
-            FX_INT32 iSize = m_upObjectArray.GetSize();\r
+            int32_t iSize = m_upObjectArray.GetSize();\r
             if (iSize) {\r
                 m_upObjectArray.RemoveAt(iSize - 1);\r
             }\r
@@ -677,7 +677,7 @@ FXJSE_HVALUE CXFA_ScriptContext::GetJSValueFromMap(CXFA_Object* pObject)
     if(pObject->IsNode()) {\r
         RunVariablesScript((CXFA_Node*)pObject);\r
     }\r
-    FX_LPVOID pValue = m_mapXFAToHValue.GetValueAt(pObject);\r
+    void* pValue = m_mapXFAToHValue.GetValueAt(pObject);\r
     if(pValue == NULL) {\r
         FXJSE_HVALUE jsHvalue = FXJSE_Value_Create(m_hJsRuntime);\r
         FXJSE_Value_SetObject(jsHvalue, pObject, m_hJsClass);\r
@@ -686,12 +686,12 @@ FXJSE_HVALUE CXFA_ScriptContext::GetJSValueFromMap(CXFA_Object* pObject)
     }\r
     return (FXJSE_HVALUE)pValue;\r
 }\r
-FX_INT32       CXFA_ScriptContext::GetIndexByName(CXFA_Node* refNode)\r
+int32_t        CXFA_ScriptContext::GetIndexByName(CXFA_Node* refNode)\r
 {\r
     CXFA_NodeHelper* lpNodeHelper = m_pResolveProcessor->GetNodeHelper();\r
     return lpNodeHelper->XFA_GetIndex(refNode, XFA_LOGIC_Transparent, lpNodeHelper->XFA_NodeIsProperty(refNode), FALSE);\r
 }\r
-FX_INT32       CXFA_ScriptContext::GetIndexByClassName(CXFA_Node* refNode)\r
+int32_t        CXFA_ScriptContext::GetIndexByClassName(CXFA_Node* refNode)\r
 {\r
     CXFA_NodeHelper* lpNodeHelper = m_pResolveProcessor->GetNodeHelper();\r
     return lpNodeHelper->XFA_GetIndex(refNode, XFA_LOGIC_Transparent, lpNodeHelper->XFA_NodeIsProperty(refNode), TRUE);\r
@@ -731,10 +731,10 @@ static const XFA_JSBUILTININFO gs_JSBUILTINData[] = {
     {0x8108b9a9, "Number"},\r
     {0xe07e3fbe, "Date"},\r
 };\r
-const FX_INT32 g_iJSBuiltinCount = sizeof(XFA_JSBUILTININFO) / sizeof(XFA_JSBUILTININFO);\r
-XFA_LPCJSBUILTININFO XFA_GetJSBuiltinByHash(FX_UINT32 uHashCode)\r
+const int32_t g_iJSBuiltinCount = sizeof(XFA_JSBUILTININFO) / sizeof(XFA_JSBUILTININFO);\r
+XFA_LPCJSBUILTININFO XFA_GetJSBuiltinByHash(uint32_t uHashCode)\r
 {\r
-    FX_INT32 iStart = 0, iEnd = g_iJSBuiltinCount - 1, iMid;\r
+    int32_t iStart = 0, iEnd = g_iJSBuiltinCount - 1, iMid;\r
     do {\r
         iMid = (iStart + iEnd) / 2;\r
         XFA_LPCJSBUILTININFO pInfo = gs_JSBUILTINData + iMid;\r