Merge to XFA: Remove FX_BSTR and FX_WSTR typedefs.
[pdfium.git] / xfa / src / fxfa / src / fm2js / xfa_fm2jscontext.cpp
index 466aaee..2ebc6a2 100644 (file)
@@ -524,7 +524,7 @@ static XFA_FMHtmlReserveCode reservesForEncode [] = {
     {9829,     L"hearts"},\r
     {9830,     L"diams"},\r
 };\r
-void CXFA_FM2JSContext::Abs(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Abs(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if(args.GetLength() == 1) {\r
         FXJSE_HVALUE argOne = args.GetValue(0);\r
@@ -543,7 +543,7 @@ void CXFA_FM2JSContext::Abs(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Abs");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Avg(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Avg(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -608,7 +608,7 @@ void CXFA_FM2JSContext::Avg(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Argu
         FXJSE_Value_SetDouble(args.GetReturnValue(), dSum / uCount);\r
     }\r
 }\r
-void CXFA_FM2JSContext::Ceil(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Ceil(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -624,7 +624,7 @@ void CXFA_FM2JSContext::Ceil(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Ceil");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Count(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Count(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -685,7 +685,7 @@ void CXFA_FM2JSContext::Count(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Ar
     argValue = 0;\r
     FXJSE_Value_SetInteger(args.GetReturnValue(), (int32_t)uCount);\r
 }\r
-void CXFA_FM2JSContext::Floor(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Floor(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -701,7 +701,7 @@ void CXFA_FM2JSContext::Floor(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Floor");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Max(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Max(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -801,7 +801,7 @@ void CXFA_FM2JSContext::Max(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Argu
         FXJSE_Value_SetNull(args.GetReturnValue());\r
     }\r
 }\r
-void CXFA_FM2JSContext::Min(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Min(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -901,7 +901,7 @@ void CXFA_FM2JSContext::Min(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Argu
         FXJSE_Value_SetNull(args.GetReturnValue());\r
     }\r
 }\r
-void CXFA_FM2JSContext::Mod(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Mod(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -981,7 +981,7 @@ void CXFA_FM2JSContext::Mod(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Mod");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Round(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Round(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -1083,7 +1083,7 @@ void CXFA_FM2JSContext::Round(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Round");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Sum(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Sum(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -1156,7 +1156,7 @@ void CXFA_FM2JSContext::Sum(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         FXJSE_Value_SetDouble(args.GetReturnValue(), dSum);\r
     }\r
 }\r
-void CXFA_FM2JSContext::Date(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Date(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 0) {\r
         struct tm *pTmStruct = 0;\r
@@ -1177,7 +1177,7 @@ void CXFA_FM2JSContext::Date(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Date");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Date2Num(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Date2Num(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -1232,7 +1232,7 @@ void CXFA_FM2JSContext::Date2Num(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Date2Num");\r
     }\r
 }\r
-void CXFA_FM2JSContext::DateFmt(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::DateFmt(FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if (argc < 3) {\r
@@ -1280,7 +1280,7 @@ void CXFA_FM2JSContext::DateFmt(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Date2Num");\r
     }\r
 }\r
-void CXFA_FM2JSContext::IsoDate2Num(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::IsoDate2Num(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if(args.GetLength() == 1) {\r
         FXJSE_HVALUE argOne = GetSimpleHValue(hThis, args, 0);\r
@@ -1298,7 +1298,7 @@ void CXFA_FM2JSContext::IsoDate2Num(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFX
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"IsoDate2Num");\r
     }\r
 }\r
-void CXFA_FM2JSContext::IsoTime2Num(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::IsoTime2Num(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 1) {\r
@@ -1349,7 +1349,7 @@ void CXFA_FM2JSContext::IsoTime2Num(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFX
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"IsoTime2Num");\r
     }\r
 }\r
-void CXFA_FM2JSContext::LocalDateFmt(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::LocalDateFmt(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if (argc < 3) {\r
@@ -1397,7 +1397,7 @@ void CXFA_FM2JSContext::LocalDateFmt(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CF
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"LocalDateFmt");\r
     }\r
 }\r
-void CXFA_FM2JSContext::LocalTimeFmt(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::LocalTimeFmt(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if (argc < 3) {\r
@@ -1445,7 +1445,7 @@ void CXFA_FM2JSContext::LocalTimeFmt(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CF
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"LocalTimeFmt");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Num2Date(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Num2Date(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -1593,7 +1593,7 @@ void CXFA_FM2JSContext::Num2Date(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Num2Date");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Num2GMTime(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Num2GMTime(FXJSE_HOBJECT hThis,        const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -1650,7 +1650,7 @@ void CXFA_FM2JSContext::Num2GMTime(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJ
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Num2GMTime");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Num2Time(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Num2Time(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -1707,7 +1707,7 @@ void CXFA_FM2JSContext::Num2Time(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Num2Time");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Time(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Time(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 0) {\r
         time_t now;\r
@@ -1722,7 +1722,7 @@ void CXFA_FM2JSContext::Time(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Time");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Time2Num(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Time2Num(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -1818,7 +1818,7 @@ void CXFA_FM2JSContext::Time2Num(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Time2Num");\r
     }\r
 }\r
-void CXFA_FM2JSContext::TimeFmt(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::TimeFmt(FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if (argc < 3) {\r
@@ -2162,7 +2162,7 @@ FX_BOOL CXFA_FM2JSContext::IsIsoDateTimeFormat(const FX_CHAR* pData, int32_t iLe
     iRet = TRUE;\r
     return iRet;\r
 }\r
-FX_BOOL CXFA_FM2JSContext::Local2IsoDate(FXJSE_HOBJECT hThis, FX_BSTR szDate, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strIsoDate)\r
+FX_BOOL CXFA_FM2JSContext::Local2IsoDate(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szDate, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strIsoDate)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     CXFA_Document *pDoc = pContext->GetDocument();\r
@@ -2194,7 +2194,7 @@ FX_BOOL CXFA_FM2JSContext::Local2IsoDate(FXJSE_HOBJECT hThis, FX_BSTR szDate, FX
     strIsoDate.Format("%4d-%02d-%02d", dt.GetYear(), dt.GetMonth(), dt.GetDay());\r
     return TRUE;\r
 }\r
-FX_BOOL CXFA_FM2JSContext::Local2IsoTime(FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strIsoTime)\r
+FX_BOOL CXFA_FM2JSContext::Local2IsoTime(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strIsoTime)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     CXFA_Document *pDoc = pContext->GetDocument();\r
@@ -2228,7 +2228,7 @@ FX_BOOL CXFA_FM2JSContext::Local2IsoTime(FXJSE_HOBJECT hThis, FX_BSTR szTime, FX
     strIsoTime.Format("%02d:%02d:%02d.%03d", utime.GetHour(), utime.GetMinute(), utime.GetSecond(), utime.GetMillisecond());\r
     return TRUE;\r
 }\r
-FX_BOOL CXFA_FM2JSContext::IsoDate2Local(FXJSE_HOBJECT hThis, FX_BSTR szDate, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strLocalDate)\r
+FX_BOOL CXFA_FM2JSContext::IsoDate2Local(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szDate, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strLocalDate)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     CXFA_Document *pDoc = pContext->GetDocument();\r
@@ -2260,7 +2260,7 @@ FX_BOOL CXFA_FM2JSContext::IsoDate2Local(FXJSE_HOBJECT hThis, FX_BSTR szDate, FX
     strLocalDate = FX_UTF8Encode(wsRet, wsRet.GetLength());\r
     return TRUE;\r
 }\r
-FX_BOOL CXFA_FM2JSContext::IsoTime2Local(FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strLocalTime)\r
+FX_BOOL CXFA_FM2JSContext::IsoTime2Local(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strLocalTime)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     CXFA_Document *pDoc = pContext->GetDocument();\r
@@ -2294,7 +2294,7 @@ FX_BOOL CXFA_FM2JSContext::IsoTime2Local(FXJSE_HOBJECT hThis, FX_BSTR szTime, FX
     strLocalTime = FX_UTF8Encode(wsRet, wsRet.GetLength());\r
     return TRUE;\r
 }\r
-FX_BOOL CXFA_FM2JSContext::GetGMTTime(FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strGMTTime)\r
+FX_BOOL CXFA_FM2JSContext::GetGMTTime(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strGMTTime)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     CXFA_Document *pDoc = pContext->GetDocument();\r
@@ -2328,7 +2328,7 @@ FX_BOOL CXFA_FM2JSContext::GetGMTTime(FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BS
     strGMTTime = FX_UTF8Encode(wsRet, wsRet.GetLength());\r
     return TRUE;\r
 }\r
-int32_t  CXFA_FM2JSContext::DateString2Num(FX_BSTR szDateString)\r
+int32_t  CXFA_FM2JSContext::DateString2Num(const CFX_ByteStringC& szDateString)\r
 {\r
     FX_BOOL bFlags = FALSE;\r
     int32_t iLength = szDateString.GetLength();\r
@@ -2449,7 +2449,7 @@ static void XFA_FM_AlternateDateTimeSymbols(CFX_WideString &wsPattern, const CFX
     }\r
 }\r
 #undef XFA_N\r
-void CXFA_FM2JSContext::GetLocalDateFormat(FXJSE_HOBJECT hThis, int32_t iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard)\r
+void CXFA_FM2JSContext::GetLocalDateFormat(FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard)\r
 {\r
     FX_LOCALEDATETIMESUBCATEGORY strStyle;\r
     switch (iStyle) {\r
@@ -2499,7 +2499,7 @@ void CXFA_FM2JSContext::GetLocalDateFormat(FXJSE_HOBJECT hThis, int32_t iStyle,
     }\r
     strFormat = FX_UTF8Encode(strRet, strRet.GetLength());\r
 }\r
-void CXFA_FM2JSContext::GetLocalTimeFormat(FXJSE_HOBJECT hThis, int32_t iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard)\r
+void CXFA_FM2JSContext::GetLocalTimeFormat(FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard)\r
 {\r
     FX_LOCALEDATETIMESUBCATEGORY strStyle;\r
     switch (iStyle) {\r
@@ -2550,15 +2550,15 @@ void CXFA_FM2JSContext::GetLocalTimeFormat(FXJSE_HOBJECT hThis, int32_t iStyle,
     }\r
     strFormat = FX_UTF8Encode(strRet, strRet.GetLength());\r
 }\r
-void CXFA_FM2JSContext::GetStandardDateFormat(FXJSE_HOBJECT hThis, int32_t iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat)\r
+void CXFA_FM2JSContext::GetStandardDateFormat(FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat)\r
 {\r
     GetLocalDateFormat(hThis, iStyle, szLocalStr, strFormat, TRUE);\r
 }\r
-void CXFA_FM2JSContext::GetStandardTimeFormat(FXJSE_HOBJECT hThis, int32_t iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat)\r
+void CXFA_FM2JSContext::GetStandardTimeFormat(FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat)\r
 {\r
     GetLocalTimeFormat(hThis, iStyle, szLocalStr, strFormat, TRUE);\r
 }\r
-void CXFA_FM2JSContext::Num2AllTime(FXJSE_HOBJECT hThis, int32_t iTime, FX_BSTR szFormat, FX_BSTR szLocale, FX_BOOL bGM, CFX_ByteString &strTime)\r
+void CXFA_FM2JSContext::Num2AllTime(FXJSE_HOBJECT hThis, int32_t iTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, FX_BOOL bGM, CFX_ByteString &strTime)\r
 {\r
     int32_t iHour = 0;\r
     int32_t iMin = 0;\r
@@ -2604,7 +2604,7 @@ void CXFA_FM2JSContext::GetLocalTimeZone(int32_t &iHour, int32_t &iMin, int32_t
     iMin = iLocalMin - iGMMin;\r
     iSec = iLocalSec - iGMSec;\r
 }\r
-void CXFA_FM2JSContext::Apr(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Apr(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -2661,7 +2661,7 @@ void CXFA_FM2JSContext::Apr(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Apr");\r
     }\r
 }\r
-void CXFA_FM2JSContext::CTerm(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::CTerm(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -2693,7 +2693,7 @@ void CXFA_FM2JSContext::CTerm(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"CTerm");\r
     }\r
 }\r
-void CXFA_FM2JSContext::FV(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::FV(FXJSE_HOBJECT hThis,        const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -2735,7 +2735,7 @@ void CXFA_FM2JSContext::FV(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Argum
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"FV");\r
     }\r
 }\r
-void CXFA_FM2JSContext::IPmt(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::IPmt(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 5) {\r
@@ -2799,7 +2799,7 @@ void CXFA_FM2JSContext::IPmt(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"IPmt");\r
     }\r
 }\r
-void CXFA_FM2JSContext::NPV(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::NPV(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     int32_t argc = args.GetLength();\r
@@ -2847,7 +2847,7 @@ void CXFA_FM2JSContext::NPV(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"NPV");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Pmt(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Pmt(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -2885,7 +2885,7 @@ void CXFA_FM2JSContext::Pmt(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Pmt");\r
     }\r
 }\r
-void CXFA_FM2JSContext::PPmt(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::PPmt(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 5) {\r
@@ -2950,7 +2950,7 @@ void CXFA_FM2JSContext::PPmt(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"PPmt");\r
     }\r
 }\r
-void CXFA_FM2JSContext::PV(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::PV(FXJSE_HOBJECT hThis,        const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -2987,7 +2987,7 @@ void CXFA_FM2JSContext::PV(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Argum
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"PV");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Rate(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Rate(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -3019,7 +3019,7 @@ void CXFA_FM2JSContext::Rate(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Rate");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Term(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Term(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if(args.GetLength() == 3) {\r
@@ -3051,7 +3051,7 @@ void CXFA_FM2JSContext::Term(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Term");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Choose(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Choose(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3127,7 +3127,7 @@ void CXFA_FM2JSContext::Choose(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Choose");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Exists(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Exists(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 1) {\r
         FXJSE_HVALUE argOne = args.GetValue(0);\r
@@ -3138,7 +3138,7 @@ void CXFA_FM2JSContext::Exists(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Exists");\r
     }\r
 }\r
-void CXFA_FM2JSContext::HasValue(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::HasValue(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 1) {\r
         FXJSE_HVALUE argOne = GetSimpleHValue(hThis, args, 0);\r
@@ -3158,7 +3158,7 @@ void CXFA_FM2JSContext::HasValue(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"HasValue");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Oneof(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Oneof(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if(argc > 1) {\r
@@ -3185,7 +3185,7 @@ void CXFA_FM2JSContext::Oneof(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Oneof");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Within(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Within(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if(argc == 3) {\r
@@ -3218,7 +3218,7 @@ void CXFA_FM2JSContext::Within(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Within");\r
     }\r
 }\r
-void CXFA_FM2JSContext::If(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::If(FXJSE_HOBJECT hThis,        const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if (args.GetLength() == 3) {\r
@@ -3235,7 +3235,7 @@ void CXFA_FM2JSContext::If(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Argum
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"If");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Eval(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Eval(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3263,7 +3263,7 @@ void CXFA_FM2JSContext::Eval(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Eval");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Ref(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Ref(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3332,7 +3332,7 @@ void CXFA_FM2JSContext::Ref(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Ref");\r
     }\r
 }\r
-void CXFA_FM2JSContext::UnitType(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::UnitType(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 1) {\r
         FXJSE_HVALUE unitspanValue = GetSimpleHValue(hThis, args, 0);\r
@@ -3433,7 +3433,7 @@ void CXFA_FM2JSContext::UnitType(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"UnitType");\r
     }\r
 }\r
-void CXFA_FM2JSContext::UnitValue(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::UnitValue(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc == 1) || (argc == 2)) {\r
@@ -3581,7 +3581,7 @@ void CXFA_FM2JSContext::UnitValue(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJS
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"UnitValue");\r
     }\r
 }\r
-void CXFA_FM2JSContext::At(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::At(FXJSE_HOBJECT hThis,        const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3608,7 +3608,7 @@ void CXFA_FM2JSContext::At(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Argum
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"At");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Concat(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Concat(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3639,7 +3639,7 @@ void CXFA_FM2JSContext::Concat(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Concat");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Decode(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Decode(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3682,7 +3682,7 @@ void CXFA_FM2JSContext::Decode(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Decode");\r
     }\r
 }\r
-void CXFA_FM2JSContext::DecodeURL (FX_BSTR szURLString,  CFX_ByteTextBuf &szResultString)\r
+void CXFA_FM2JSContext::DecodeURL (const CFX_ByteStringC& szURLString,  CFX_ByteTextBuf &szResultString)\r
 {\r
     CFX_WideString wsURLString = CFX_WideString::FromUTF8(szURLString.GetCStr(), szURLString.GetLength());\r
     const FX_WCHAR* pData = wsURLString;\r
@@ -3734,7 +3734,7 @@ void CXFA_FM2JSContext::DecodeURL (FX_BSTR szURLString,  CFX_ByteTextBuf &szResu
     wsResultBuf.AppendChar(0);\r
     szResultString  = FX_UTF8Encode(wsResultBuf.GetBuffer(), wsResultBuf.GetLength());\r
 }\r
-void CXFA_FM2JSContext::DecodeHTML(FX_BSTR szHTMLString, CFX_ByteTextBuf &szResultString)\r
+void CXFA_FM2JSContext::DecodeHTML(const CFX_ByteStringC& szHTMLString, CFX_ByteTextBuf &szResultString)\r
 {\r
     CFX_WideString wsHTMLString = CFX_WideString::FromUTF8(szHTMLString.GetCStr(), szHTMLString.GetLength());\r
     FX_WCHAR strString[9];\r
@@ -3804,7 +3804,7 @@ void CXFA_FM2JSContext::DecodeHTML(FX_BSTR szHTMLString, CFX_ByteTextBuf &szResu
     wsResultBuf.AppendChar(0);\r
     szResultString  = FX_UTF8Encode(wsResultBuf.GetBuffer(), wsResultBuf.GetLength());\r
 }\r
-void CXFA_FM2JSContext::DecodeXML (FX_BSTR szXMLString,  CFX_ByteTextBuf &szResultString)\r
+void CXFA_FM2JSContext::DecodeXML (const CFX_ByteStringC& szXMLString,  CFX_ByteTextBuf &szResultString)\r
 {\r
     CFX_WideString wsXMLString = CFX_WideString::FromUTF8(szXMLString.GetCStr(), szXMLString.GetLength());\r
     FX_WCHAR strString[9];\r
@@ -3903,7 +3903,7 @@ void CXFA_FM2JSContext::DecodeXML (FX_BSTR szXMLString,  CFX_ByteTextBuf &szResu
     wsXMLBuf.AppendChar(0);\r
     szResultString  = FX_UTF8Encode(wsXMLBuf.GetBuffer(), wsXMLBuf.GetLength());\r
 }\r
-void CXFA_FM2JSContext::Encode(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Encode(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -3946,7 +3946,7 @@ void CXFA_FM2JSContext::Encode(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Encode");\r
     }\r
 }\r
-void CXFA_FM2JSContext::EncodeURL (FX_BSTR szURLString,  CFX_ByteTextBuf &szResultBuf)\r
+void CXFA_FM2JSContext::EncodeURL (const CFX_ByteStringC& szURLString,  CFX_ByteTextBuf &szResultBuf)\r
 {\r
     CFX_WideString wsURLString = CFX_WideString::FromUTF8(szURLString.GetCStr(), szURLString.GetLength());\r
     CFX_WideTextBuf wsResultBuf;\r
@@ -4050,7 +4050,7 @@ void CXFA_FM2JSContext::EncodeURL (FX_BSTR szURLString,  CFX_ByteTextBuf &szResu
     wsResultBuf.AppendChar(0);\r
     szResultBuf = FX_UTF8Encode(wsResultBuf.GetBuffer(), wsResultBuf.GetLength());\r
 }\r
-void CXFA_FM2JSContext::EncodeHTML(FX_BSTR szHTMLString, CFX_ByteTextBuf &szResultBuf)\r
+void CXFA_FM2JSContext::EncodeHTML(const CFX_ByteStringC& szHTMLString, CFX_ByteTextBuf &szResultBuf)\r
 {\r
     CFX_ByteString str = szHTMLString.GetCStr();\r
     CFX_WideString wsHTMLString = CFX_WideString::FromUTF8(str, str.GetLength());\r
@@ -4102,7 +4102,7 @@ void CXFA_FM2JSContext::EncodeHTML(FX_BSTR szHTMLString, CFX_ByteTextBuf &szResu
     wsResultBuf.AppendChar(0);\r
     szResultBuf  = FX_UTF8Encode(wsResultBuf.GetBuffer(), wsResultBuf.GetLength());\r
 }\r
-void CXFA_FM2JSContext::EncodeXML (FX_BSTR szXMLString,  CFX_ByteTextBuf &szResultBuf)\r
+void CXFA_FM2JSContext::EncodeXML (const CFX_ByteStringC& szXMLString,  CFX_ByteTextBuf &szResultBuf)\r
 {\r
     CFX_WideString wsXMLString = CFX_WideString::FromUTF8(szXMLString.GetCStr(), szXMLString.GetLength());\r
     CFX_WideTextBuf wsResultBuf;\r
@@ -4188,7 +4188,7 @@ void CXFA_FM2JSContext::EncodeXML (FX_BSTR szXMLString,  CFX_ByteTextBuf &szResu
     wsResultBuf.AppendChar(0);\r
     szResultBuf = FX_UTF8Encode(wsResultBuf.GetBuffer(), wsResultBuf.GetLength());\r
 }\r
-FX_BOOL CXFA_FM2JSContext::HTMLSTR2Code(FX_WSTR pData, uint32_t &iCode)\r
+FX_BOOL CXFA_FM2JSContext::HTMLSTR2Code(const CFX_WideStringC& pData, uint32_t &iCode)\r
 {\r
     int32_t iLength = pData.GetLength();\r
     uint32_t uHash = FX_HashCode_String_GetW(pData.GetPtr(), iLength);\r
@@ -4228,7 +4228,7 @@ FX_BOOL CXFA_FM2JSContext::HTMLCode2STR(uint32_t iCode, CFX_WideString &wsHTMLRe
     } while (iStart <= iEnd);\r
     return FALSE;\r
 }\r
-static FX_BOOL XFA_PATTERN_STRING_Type(FX_BSTR szPattern, FX_DWORD& patternType)\r
+static FX_BOOL XFA_PATTERN_STRING_Type(const CFX_ByteStringC& szPattern, FX_DWORD& patternType)\r
 {\r
     CFX_WideString wsPattern = CFX_WideString::FromUTF8(szPattern.GetCStr(), szPattern.GetLength());\r
     if (FX_WSTRC(L"datetime") == wsPattern.Left(8)) {\r
@@ -4305,7 +4305,7 @@ static FX_BOOL XFA_PATTERN_STRING_Type(FX_BSTR szPattern, FX_DWORD& patternType)
     }\r
     return FALSE;\r
 }\r
-void CXFA_FM2JSContext::Format(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Format(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     int32_t argc = args.GetLength();\r
@@ -4390,7 +4390,7 @@ void CXFA_FM2JSContext::Format(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Format");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Left(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Left(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -4418,7 +4418,7 @@ void CXFA_FM2JSContext::Left(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Left");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Len(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Len(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -4436,7 +4436,7 @@ void CXFA_FM2JSContext::Len(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Len");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Lower(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Lower(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 3)) {\r
@@ -4480,7 +4480,7 @@ void CXFA_FM2JSContext::Lower(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Lower");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Ltrim(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Ltrim(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -4499,7 +4499,7 @@ void CXFA_FM2JSContext::Ltrim(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Ltrim");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Parse(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Parse(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if (args.GetLength() == 2) {\r
@@ -4627,7 +4627,7 @@ void CXFA_FM2JSContext::Parse(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Parse");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Replace(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Replace(FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc == 2) || (argc == 3)) {\r
@@ -4692,7 +4692,7 @@ void CXFA_FM2JSContext::Replace(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Replace");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Right(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Right(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -4720,7 +4720,7 @@ void CXFA_FM2JSContext::Right(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Right");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Rtrim(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Rtrim(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -4739,7 +4739,7 @@ void CXFA_FM2JSContext::Rtrim(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Rtrim");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Space(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Space(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -4765,7 +4765,7 @@ void CXFA_FM2JSContext::Space(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Space");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Str(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Str(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -4888,7 +4888,7 @@ void CXFA_FM2JSContext::Str(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Str");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Stuff(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Stuff(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc == 3) || (argc == 4)) {\r
@@ -4949,7 +4949,7 @@ void CXFA_FM2JSContext::Stuff(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Stuff");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Substr(FXJSE_HOBJECT hThis,    FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Substr(FXJSE_HOBJECT hThis,    const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if(argc == 3) {\r
@@ -4990,7 +4990,7 @@ void CXFA_FM2JSContext::Substr(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_A
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Substr");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Uuid(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Uuid(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if((argc == 0) || (argc == 1)) {\r
@@ -5013,7 +5013,7 @@ void CXFA_FM2JSContext::Uuid(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Uuid");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Upper(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Upper(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 3)) {\r
@@ -5057,7 +5057,7 @@ void CXFA_FM2JSContext::Upper(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, CFXJSE_Ar
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Upper");\r
     }\r
 }\r
-void CXFA_FM2JSContext::WordNum(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::WordNum(FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t argc = args.GetLength();\r
     if ((argc > 0) && (argc < 4)) {\r
@@ -5114,7 +5114,7 @@ void CXFA_FM2JSContext::WordNum(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"WordNum");\r
     }\r
 }\r
-void CXFA_FM2JSContext::TrillionUS(FX_BSTR szData, CFX_ByteTextBuf &strBuf)\r
+void CXFA_FM2JSContext::TrillionUS(const CFX_ByteStringC& szData, CFX_ByteTextBuf &strBuf)\r
 {\r
     CFX_ByteStringC pUnits[] =    { "zero", "one", "two", "three",     "four", "five", "six", "seven", "eight", "nine"};\r
     CFX_ByteStringC pCapUnits[]        = { "Zero", "One", "Two", "Three",      "Four", "Five", "Six", "Seven", "Eight", "Nine"};\r
@@ -5205,7 +5205,7 @@ void CXFA_FM2JSContext::TrillionUS(FX_BSTR szData, CFX_ByteTextBuf &strBuf)
         iIndex += 3;\r
     }\r
 }\r
-void CXFA_FM2JSContext::WordUS(FX_BSTR szData, int32_t iStyle, CFX_ByteTextBuf &strBuf)\r
+void CXFA_FM2JSContext::WordUS(const CFX_ByteStringC& szData, int32_t iStyle, CFX_ByteTextBuf &strBuf)\r
 {\r
     const FX_CHAR* pData = szData.GetCStr();\r
     int32_t iLength = szData.GetLength();\r
@@ -5305,7 +5305,7 @@ void CXFA_FM2JSContext::WordUS(FX_BSTR szData, int32_t iStyle, CFX_ByteTextBuf &
             break;\r
     }\r
 }\r
-void CXFA_FM2JSContext::Get(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Get(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     int32_t argc = args.GetLength();\r
@@ -5337,7 +5337,7 @@ void CXFA_FM2JSContext::Get(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Get");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Post(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Post(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     int32_t argc = args.GetLength();\r
@@ -5400,7 +5400,7 @@ void CXFA_FM2JSContext::Post(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arg
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Post");\r
     }\r
 }\r
-void CXFA_FM2JSContext::Put(FXJSE_HOBJECT hThis,       FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::Put(FXJSE_HOBJECT hThis,       const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     int32_t argc = args.GetLength();\r
@@ -5443,7 +5443,7 @@ void CXFA_FM2JSContext::Put(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Argu
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Put");\r
     }\r
 }\r
-void CXFA_FM2JSContext::assign_value_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::assign_value_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -5491,7 +5491,7 @@ void CXFA_FM2JSContext::assign_value_operator(FXJSE_HOBJECT hThis, FX_BSTR szFun
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::logical_or_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::logical_or_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5510,7 +5510,7 @@ void CXFA_FM2JSContext::logical_or_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncN
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::logical_and_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::logical_and_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5529,7 +5529,7 @@ void CXFA_FM2JSContext::logical_and_operator(FXJSE_HOBJECT hThis, FX_BSTR szFunc
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::equality_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::equality_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         if (fm_ref_equal(hThis, args)) {\r
@@ -5558,7 +5558,7 @@ void CXFA_FM2JSContext::equality_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncNam
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::notequality_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::notequality_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         if (fm_ref_equal(hThis, args)) {\r
@@ -5617,7 +5617,7 @@ FX_BOOL CXFA_FM2JSContext::fm_ref_equal(FXJSE_HOBJECT hThis, CFXJSE_Arguments &a
     FXJSE_Value_Release(argSecond);\r
     return bRet;\r
 }\r
-void CXFA_FM2JSContext::less_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::less_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5642,7 +5642,7 @@ void CXFA_FM2JSContext::less_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, C
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::lessequal_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::lessequal_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5667,7 +5667,7 @@ void CXFA_FM2JSContext::lessequal_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncNa
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::greater_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::greater_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5692,7 +5692,7 @@ void CXFA_FM2JSContext::greater_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::greaterequal_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::greaterequal_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5717,7 +5717,7 @@ void CXFA_FM2JSContext::greaterequal_operator(FXJSE_HOBJECT hThis, FX_BSTR szFun
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::plus_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::plus_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = args.GetValue(0);\r
@@ -5736,7 +5736,7 @@ void CXFA_FM2JSContext::plus_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, C
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::minus_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::minus_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5755,7 +5755,7 @@ void CXFA_FM2JSContext::minus_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName,
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::multiple_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::multiple_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     if (args.GetLength() == 2) {\r
         FXJSE_HVALUE argFirst = GetSimpleHValue(hThis, args, 0);\r
@@ -5774,7 +5774,7 @@ void CXFA_FM2JSContext::multiple_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncNam
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::divide_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::divide_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     if (args.GetLength() == 2) {\r
@@ -5797,7 +5797,7 @@ void CXFA_FM2JSContext::divide_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName,
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::positive_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::positive_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t iLength = args.GetLength();\r
     if (iLength == 1) {\r
@@ -5813,7 +5813,7 @@ void CXFA_FM2JSContext::positive_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncNam
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::negative_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::negative_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t iLength = args.GetLength();\r
     if (iLength == 1) {\r
@@ -5829,7 +5829,7 @@ void CXFA_FM2JSContext::negative_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncNam
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::logical_not_operator(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::logical_not_operator(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t iLength = args.GetLength();\r
     if (iLength == 1) {\r
@@ -5846,7 +5846,7 @@ void CXFA_FM2JSContext::logical_not_operator(FXJSE_HOBJECT hThis, FX_BSTR szFunc
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::dot_accessor(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::dot_accessor(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -5979,7 +5979,7 @@ void CXFA_FM2JSContext::dot_accessor(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CF
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::dotdot_accessor(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::dotdot_accessor(FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -6107,7 +6107,7 @@ void CXFA_FM2JSContext::dotdot_accessor(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName,
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::eval_translation (FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::eval_translation (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -6135,7 +6135,7 @@ void CXFA_FM2JSContext::eval_translation (FXJSE_HOBJECT hThis,    FX_BSTR szFuncNam
         pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"Eval");\r
     }\r
 }\r
-void CXFA_FM2JSContext::is_fm_object(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::is_fm_object(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t iLength = args.GetLength();\r
     if (iLength == 1) {\r
@@ -6146,7 +6146,7 @@ void CXFA_FM2JSContext::is_fm_object(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CF
         FXJSE_Value_SetBoolean(args.GetReturnValue(), FALSE);\r
     }\r
 }\r
-void CXFA_FM2JSContext::is_fm_array(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::is_fm_array(FXJSE_HOBJECT hThis, const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     int32_t iLength = args.GetLength();\r
     if (iLength == 1) {\r
@@ -6158,7 +6158,7 @@ void CXFA_FM2JSContext::is_fm_array(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CFX
         FXJSE_Value_SetBoolean(args.GetReturnValue(), FALSE);\r
     }\r
 }\r
-void CXFA_FM2JSContext::get_fm_value(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::get_fm_value(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -6189,7 +6189,7 @@ void CXFA_FM2JSContext::get_fm_value(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CF
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::get_fm_jsobj(FXJSE_HOBJECT hThis,      FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::get_fm_jsobj(FXJSE_HOBJECT hThis,      const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -6211,7 +6211,7 @@ void CXFA_FM2JSContext::get_fm_jsobj(FXJSE_HOBJECT hThis, FX_BSTR szFuncName, CF
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::fm_var_filter(FXJSE_HOBJECT hThis,     FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::fm_var_filter(FXJSE_HOBJECT hThis,     const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -6264,7 +6264,7 @@ void CXFA_FM2JSContext::fm_var_filter(FXJSE_HOBJECT hThis,        FX_BSTR szFuncName, C
         pContext->ThrowScriptErrorMessage(XFA_IDS_COMPILER_ERROR);\r
     }\r
 }\r
-void CXFA_FM2JSContext::concat_fm_object(FXJSE_HOBJECT hThis,  FX_BSTR szFuncName, CFXJSE_Arguments &args)\r
+void CXFA_FM2JSContext::concat_fm_object(FXJSE_HOBJECT hThis,  const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args)\r
 {\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
     FXJSE_HRUNTIME hruntime = pContext->GetScriptRuntime();\r
@@ -6513,7 +6513,7 @@ FX_BOOL CXFA_FM2JSContext::SetObjectDefaultValue(FXJSE_HVALUE hObjectValue, FXJS
     }\r
     return bSuccess;\r
 }\r
-void CXFA_FM2JSContext::GenerateSomExpression(FX_BSTR szName, int32_t iIndexFlags, int32_t iIndexValue, FX_BOOL bIsStar, CFX_ByteString& szSomExp)\r
+void CXFA_FM2JSContext::GenerateSomExpression(const CFX_ByteStringC& szName, int32_t iIndexFlags, int32_t iIndexValue, FX_BOOL bIsStar, CFX_ByteString& szSomExp)\r
 {\r
     if(bIsStar) {\r
         szSomExp = szName + FX_BSTRC("[*]");\r
@@ -6537,7 +6537,7 @@ void CXFA_FM2JSContext::GenerateSomExpression(FX_BSTR szName, int32_t iIndexFlag
         szSomExp += FX_BSTRC("]");\r
     }\r
 }\r
-FX_BOOL CXFA_FM2JSContext::GetObjectByName(FXJSE_HOBJECT hThis, FXJSE_HVALUE accessorValue, FX_BSTR szAccessorName)\r
+FX_BOOL CXFA_FM2JSContext::GetObjectByName(FXJSE_HOBJECT hThis, FXJSE_HVALUE accessorValue, const CFX_ByteStringC& szAccessorName)\r
 {\r
     FX_BOOL bFlags = FALSE;\r
     CXFA_FM2JSContext* pContext = (CXFA_FM2JSContext*)FXJSE_Value_ToObject(hThis, NULL);\r
@@ -6555,7 +6555,7 @@ FX_BOOL CXFA_FM2JSContext::GetObjectByName(FXJSE_HOBJECT hThis, FXJSE_HVALUE acc
     }\r
     return bFlags;\r
 }\r
-int32_t CXFA_FM2JSContext::ResolveObjects(FXJSE_HOBJECT hThis, FXJSE_HVALUE hRefValue, FX_BSTR bsSomExp, XFA_RESOLVENODE_RS &resoveNodeRS, FX_BOOL bdotAccessor , FX_BOOL bHasNoResolveName )\r
+int32_t CXFA_FM2JSContext::ResolveObjects(FXJSE_HOBJECT hThis, FXJSE_HVALUE hRefValue, const CFX_ByteStringC& bsSomExp, XFA_RESOLVENODE_RS &resoveNodeRS, FX_BOOL bdotAccessor , FX_BOOL bHasNoResolveName )\r
 {\r
     CFX_WideString wsSomExpression = CFX_WideString::FromUTF8(bsSomExp.GetCStr(), bsSomExp.GetLength());\r
     int32_t iRet = -1;\r
@@ -6671,7 +6671,7 @@ int32_t CXFA_FM2JSContext::HValueToInteger(FXJSE_HOBJECT hThis, FXJSE_HVALUE hVa
     }\r
     return iValue;\r
 }\r
-FX_DOUBLE CXFA_FM2JSContext::StringToDouble(FX_BSTR szStringVal)\r
+FX_DOUBLE CXFA_FM2JSContext::StringToDouble(const CFX_ByteStringC& szStringVal)\r
 {\r
     return XFA_ByteStringToDouble(szStringVal);\r
 }\r