| Index: fpdfsdk/src/javascript/PublicMethods.cpp
|
| diff --git a/fpdfsdk/src/javascript/PublicMethods.cpp b/fpdfsdk/src/javascript/PublicMethods.cpp
|
| index e3479f1fa40b5f6964edcece8af66d9a42a0de6b..ff5b9a787a1b991124c05251ea31f655ab31e592 100644
|
| --- a/fpdfsdk/src/javascript/PublicMethods.cpp
|
| +++ b/fpdfsdk/src/javascript/PublicMethods.cpp
|
| @@ -430,7 +430,7 @@ CJS_Array CJS_PublicMethods::AF_MakeArrayFromList(v8::Isolate* isolate, CJS_Valu
|
| val.ConvertToArray(StrArray);
|
| return StrArray;
|
| }
|
| - CFX_WideString wsStr = val.operator CFX_WideString();
|
| + CFX_WideString wsStr = val.ToCFXWideString();
|
| CFX_ByteString t = CFX_ByteString::FromUnicode(wsStr);
|
| const char * p = (const char *)t;
|
|
|
| @@ -1071,12 +1071,12 @@ FX_BOOL CJS_PublicMethods::AFNumber_Format(IFXJS_Context* cc, const CJS_Paramete
|
|
|
| if (strValue.IsEmpty()) return TRUE;
|
|
|
| - int iDec = params[0];
|
| - int iSepStyle = params[1];
|
| - int iNegStyle = params[2];
|
| + int iDec = params[0].ToInt();
|
| + int iSepStyle = params[1].ToInt();
|
| + int iNegStyle = params[2].ToInt();
|
| // params[3] is iCurrStyle, it's not used.
|
| - std::wstring wstrCurrency(params[4].operator CFX_WideString());
|
| - FX_BOOL bCurrencyPrepend = params[5];
|
| + std::wstring wstrCurrency(params[4].ToCFXWideString());
|
| + FX_BOOL bCurrencyPrepend = params[5].ToBool();
|
|
|
| if (iDec < 0) iDec = -iDec;
|
|
|
| @@ -1268,7 +1268,7 @@ FX_BOOL CJS_PublicMethods::AFNumber_Keystroke(IFXJS_Context* cc, const CJS_Param
|
|
|
| if(params.size() < 2)
|
| return FALSE;
|
| - int iSepStyle = params[1];
|
| + int iSepStyle = params[1].ToInt();
|
|
|
| if (iSepStyle < 0 || iSepStyle > 3)
|
| iSepStyle = 0;
|
| @@ -1406,30 +1406,20 @@ FX_BOOL CJS_PublicMethods::AFPercent_Format(IFXJS_Context* cc, const CJS_Paramet
|
| }
|
| if(!pEvent->m_pValue)
|
| return FALSE;
|
| +
|
| CFX_WideString& Value = pEvent->Value();
|
| -
|
| -// HWND hMainFrame = NULL;
|
| -//
|
| -// CPDFSDK_FormFillApp *pApp = pContext->GetReaderApp();
|
| -// ASSERT(pApp);
|
| -// hMainFrame = pApp->GetMainFrameWnd();
|
| -
|
| CFX_ByteString strValue = StrTrim(CFX_ByteString::FromUnicode(Value));
|
| -
|
| if (strValue.IsEmpty())
|
| return TRUE;
|
| -
|
| - int iDec = params[0];
|
| - int iSepStyle = params[1];
|
| -
|
| - //ASSERT(iDec > 0);
|
| +
|
| + int iDec = params[0].ToInt();
|
| if (iDec < 0)
|
| iDec = -iDec;
|
| -
|
| +
|
| + int iSepStyle = params[1].ToInt();
|
| if (iSepStyle < 0 || iSepStyle > 3)
|
| iSepStyle = 0;
|
| -
|
| -
|
| +
|
| //////////////////////////////////////////////////////
|
| //for processing decimal places
|
| double dValue = atof(strValue);
|
| @@ -1527,16 +1517,16 @@ FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IFXJS_Context* cc, const CJS_Paramete
|
| {
|
| sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| - }
|
| + }
|
| if(!pEvent->m_pValue)
|
| return FALSE;
|
| - CFX_WideString& val = pEvent->Value();
|
| -
|
| - CFX_WideString strValue = val;
|
| - if (strValue.IsEmpty()) return TRUE;
|
|
|
| - CFX_WideString sFormat = params[0].operator CFX_WideString();
|
| + CFX_WideString& val = pEvent->Value();
|
| + CFX_WideString strValue = val;
|
| + if (strValue.IsEmpty())
|
| + return TRUE;
|
|
|
| + CFX_WideString sFormat = params[0].ToCFXWideString();
|
| FX_BOOL bWrongFormat = FALSE;
|
| double dDate = 0.0f;
|
|
|
| @@ -1558,9 +1548,8 @@ FX_BOOL CJS_PublicMethods::AFDate_FormatEx(IFXJS_Context* cc, const CJS_Paramete
|
| Alert(pContext, swMsg);
|
| return FALSE;
|
| }
|
| -
|
| - val = MakeFormatDate(dDate,sFormat);
|
|
|
| + val = MakeFormatDate(dDate,sFormat);
|
| return TRUE;
|
| }
|
|
|
| @@ -1636,17 +1625,17 @@ FX_BOOL CJS_PublicMethods::AFDate_KeystrokeEx(IFXJS_Context* cc, const CJS_Param
|
| {
|
| sError = L"AFDate_KeystrokeEx's parameters' size r not correct";
|
| return FALSE;
|
| - }
|
| -
|
| + }
|
| +
|
| if (pEvent->WillCommit())
|
| {
|
| if(!pEvent->m_pValue)
|
| return FALSE;
|
| CFX_WideString strValue = pEvent->Value();
|
| - if (strValue.IsEmpty()) return TRUE;
|
| -
|
| - CFX_WideString sFormat = params[0].operator CFX_WideString();
|
| + if (strValue.IsEmpty())
|
| + return TRUE;
|
|
|
| + CFX_WideString sFormat = params[0].ToCFXWideString();
|
| FX_BOOL bWrongFormat = FALSE;
|
| double dRet = MakeRegularDate(strValue,sFormat,bWrongFormat);
|
| if (bWrongFormat || JS_PortIsNan(dRet))
|
| @@ -1674,7 +1663,7 @@ FX_BOOL CJS_PublicMethods::AFDate_Format(IFXJS_Context* cc, const CJS_Parameters
|
| return FALSE;
|
| }
|
|
|
| - int iIndex = params[0];
|
| + int iIndex = params[0].ToInt();
|
| FX_LPCWSTR cFormats[] = {L"m/d", L"m/d/yy", L"mm/dd/yy", L"mm/yy", L"d-mmm", L"d-mmm-yy", L"dd-mmm-yy",
|
| L"yy-mm-dd", L"mmm-yy", L"mmmm-yy", L"mmm d, yyyy", L"mmmm d, yyyy",
|
| L"m/d/yy h:MM tt", L"m/d/yy HH:MM" };
|
| @@ -1705,7 +1694,7 @@ FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IFXJS_Context* cc, const CJS_Paramet
|
| return FALSE;
|
| }
|
|
|
| - int iIndex = params[0];
|
| + int iIndex = params[0].ToInt();
|
| FX_LPCWSTR cFormats[] = {L"m/d", L"m/d/yy", L"mm/dd/yy", L"mm/yy", L"d-mmm", L"d-mmm-yy", L"dd-mmm-yy",
|
| L"yy-mm-dd", L"mmm-yy", L"mmmm-yy", L"mmm d, yyyy", L"mmmm d, yyyy",
|
| L"m/d/yy h:MM tt", L"m/d/yy HH:MM" };
|
| @@ -1735,7 +1724,7 @@ FX_BOOL CJS_PublicMethods::AFTime_Format(IFXJS_Context* cc, const CJS_Parameters
|
| return FALSE;
|
| }
|
|
|
| - int iIndex = params[0];
|
| + int iIndex = params[0].ToInt();
|
| FX_LPCWSTR cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", L"h:MM:ss tt"};
|
|
|
| ASSERT(iIndex<FX_ArraySize(cFormats));
|
| @@ -1761,7 +1750,7 @@ FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IFXJS_Context* cc, const CJS_Paramet
|
| return FALSE;
|
| }
|
|
|
| - int iIndex = params[0];
|
| + int iIndex = params[0].ToInt();
|
| FX_LPCWSTR cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", L"h:MM:ss tt"};
|
|
|
| ASSERT(iIndex<FX_ArraySize(cFormats));
|
| @@ -1799,7 +1788,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_Format(IFXJS_Context* cc, const CJS_Paramet
|
| }
|
|
|
| std::string cFormat;
|
| - int iIndex = params[0];
|
| + int iIndex = params[0].ToInt();
|
|
|
| CJS_EventHandler* pEvent = pContext->GetEventHandler();
|
| ASSERT(pEvent != NULL);
|
| @@ -1858,11 +1847,12 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
|
| return FALSE;
|
| CFX_WideString& valEvent = pEvent->Value();
|
|
|
| - CFX_WideString wstrMask = params[0].operator CFX_WideString();
|
| - if (wstrMask.IsEmpty()) return TRUE;
|
| -
|
| + CFX_WideString wstrMask = params[0].ToCFXWideString();
|
| + if (wstrMask.IsEmpty())
|
| + return TRUE;
|
| +
|
| std::wstring wstrValue(valEvent);
|
| -
|
| +
|
| if (pEvent->WillCommit())
|
| {
|
| if (wstrValue.empty())
|
| @@ -1871,7 +1861,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
|
| for (std::wstring::iterator it = wstrValue.begin(); it != wstrValue.end(); it++)
|
| {
|
| wchar_t w_Value = *it;
|
| - if (!maskSatisfied(w_Value,wstrMask[iIndexMask]))
|
| + if (!maskSatisfied(w_Value,wstrMask[iIndexMask]))
|
| break;
|
| iIndexMask++;
|
| }
|
| @@ -1884,31 +1874,27 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
|
| return TRUE;
|
| }
|
|
|
| -
|
| CFX_WideString &wideChange = pEvent->Change();
|
| std::wstring wChange(wideChange);
|
| -
|
| if (wChange.empty())
|
| return TRUE;
|
| - int iIndexMask = pEvent->SelStart();
|
| - //iIndexMask++;
|
| -
|
| -
|
| +
|
| + int iIndexMask = pEvent->SelStart();
|
| +
|
| if (wstrValue.length() - (pEvent->SelEnd()-pEvent->SelStart()) + wChange.length() > (FX_DWORD)wstrMask.GetLength())
|
| {
|
| Alert(pContext, JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG));
|
| pEvent->Rc() = FALSE;
|
| return TRUE;
|
| }
|
| -
|
| -
|
| +
|
| if (iIndexMask >= wstrMask.GetLength() && (!wChange.empty()))
|
| {
|
| Alert(pContext, JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG));
|
| pEvent->Rc() = FALSE;
|
| return TRUE;
|
| }
|
| -
|
| +
|
| for (std::wstring::iterator it = wChange.begin(); it != wChange.end(); it++)
|
| {
|
| if (iIndexMask >= wstrMask.GetLength())
|
| @@ -1920,21 +1906,18 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc, const CJS_Pa
|
| wchar_t w_Mask = wstrMask[iIndexMask];
|
| if (!isReservedMaskChar(w_Mask))
|
| {
|
| - //wChange.insert(it,w_Mask);
|
| *it = w_Mask;
|
| }
|
| wchar_t w_Change = *it;
|
| -
|
| - if (!maskSatisfied(w_Change,w_Mask))
|
| + if (!maskSatisfied(w_Change,w_Mask))
|
| {
|
| pEvent->Rc() = FALSE;
|
| return TRUE;
|
| }
|
| iIndexMask++;
|
| }
|
| -
|
| - wideChange = wChange.c_str();
|
| -
|
| +
|
| + wideChange = wChange.c_str();
|
| return TRUE;
|
| }
|
|
|
| @@ -1956,7 +1939,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_Keystroke(IFXJS_Context* cc, const CJS_Para
|
| }
|
|
|
| std::string cFormat;
|
| - int iIndex = (int)params[0];
|
| + int iIndex = params[0].ToInt();
|
|
|
| if(!pEvent->m_pValue)
|
| return FALSE;
|
| @@ -2050,8 +2033,8 @@ FX_BOOL CJS_PublicMethods::AFParseDateEx(IFXJS_Context* cc, const CJS_Parameters
|
| return FALSE;
|
| }
|
|
|
| - CFX_WideString sValue = params[0].operator CFX_WideString();
|
| - CFX_WideString sFormat = params[1].operator CFX_WideString();
|
| + CFX_WideString sValue = params[0].ToCFXWideString();
|
| + CFX_WideString sFormat = params[1].ToCFXWideString();
|
|
|
| FX_BOOL bWrongFormat = FALSE;
|
| double dDate = MakeRegularDate(sValue,sFormat,bWrongFormat);
|
| @@ -2063,9 +2046,8 @@ FX_BOOL CJS_PublicMethods::AFParseDateEx(IFXJS_Context* cc, const CJS_Parameters
|
| Alert((CJS_Context *)cc, swMsg);
|
| return FALSE;
|
| }
|
| -
|
| - vRet = dDate;
|
|
|
| + vRet = dDate;
|
| return TRUE;
|
| }
|
|
|
| @@ -2080,7 +2062,7 @@ FX_BOOL CJS_PublicMethods::AFSimple(IFXJS_Context* cc, const CJS_Parameters& par
|
| return FALSE;
|
| }
|
|
|
| - vRet = (double)AF_Simple(params[0].operator CFX_WideString(), (double)params[1], (double)params[2]);
|
| + vRet = (double)AF_Simple(params[0].ToCFXWideString(), params[1].ToDouble(), params[2].ToDouble());
|
| return TRUE;
|
| }
|
|
|
| @@ -2094,7 +2076,7 @@ FX_BOOL CJS_PublicMethods::AFMakeNumber(IFXJS_Context* cc, const CJS_Parameters&
|
| sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - vRet = ParseStringToNumber(params[0].operator CFX_WideString());
|
| + vRet = ParseStringToNumber(params[0].ToCFXWideString());
|
| return TRUE;
|
| }
|
|
|
| @@ -2118,7 +2100,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
|
| sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| -
|
| +
|
| CPDFSDK_Document* pReaderDoc = pContext->GetReaderDocument();
|
| ASSERT(pReaderDoc != NULL);
|
|
|
| @@ -2129,7 +2111,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
|
| ASSERT(pInterForm != NULL);
|
|
|
| double dValue;
|
| - CFX_WideString sFunction = params[0].operator CFX_WideString();
|
| + CFX_WideString sFunction = params[0].ToCFXWideString();
|
| if (wcscmp(sFunction, L"PRD") == 0)
|
| dValue = 1.0;
|
| else
|
| @@ -2143,7 +2125,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
|
| {
|
| CJS_Value jsValue(isolate);
|
| FieldNameArray.GetElement(i,jsValue);
|
| - CFX_WideString wsFieldName = jsValue.operator CFX_WideString();
|
| + CFX_WideString wsFieldName = jsValue.ToCFXWideString();
|
|
|
| for (int j=0,jsz=pInterForm->CountFields(wsFieldName); j<jsz; j++)
|
| {
|
| @@ -2214,7 +2196,7 @@ FX_BOOL CJS_PublicMethods::AFSimple_Calculate(IFXJS_Context* cc, const CJS_Param
|
| dValue = (double)floor(dValue * FXSYS_pow((double)10,(double)6) + 0.49) / FXSYS_pow((double)10,(double)6);
|
| CJS_Value jsValue(isolate,dValue);
|
| if((CJS_EventHandler*)pContext->GetEventHandler()->m_pValue)
|
| - ((CJS_EventHandler*)pContext->GetEventHandler())->Value() = jsValue;
|
| + ((CJS_EventHandler*)pContext->GetEventHandler())->Value() = jsValue.ToCFXWideString();
|
|
|
| return TRUE;
|
| }
|
| @@ -2240,28 +2222,30 @@ FX_BOOL CJS_PublicMethods::AFRange_Validate(IFXJS_Context* cc, const CJS_Paramet
|
| if (pEvent->Value().IsEmpty() )
|
| return TRUE;
|
| double dEentValue = atof(CFX_ByteString::FromUnicode(pEvent->Value()));
|
| - FX_BOOL bGreaterThan, bLessThan;
|
| - double dGreaterThan, dLessThan;
|
| - bGreaterThan = (FX_BOOL)params[0];
|
| + FX_BOOL bGreaterThan = params[0].ToBool();
|
| + double dGreaterThan = params[1].ToDouble();
|
| + FX_BOOL bLessThan = params[2].ToBool();
|
| + double dLessThan = params[3].ToDouble();
|
| CFX_WideString swMsg;
|
| - dGreaterThan = (double)params[1];
|
| - bLessThan = (FX_BOOL)params[2];
|
| - dLessThan = (double)params[3];
|
|
|
| if (bGreaterThan && bLessThan)
|
| {
|
| if (dEentValue < dGreaterThan || dEentValue > dLessThan)
|
| - swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE1),(FX_LPCWSTR)params[1].operator CFX_WideString(), (FX_LPCWSTR)params[3].operator CFX_WideString());
|
| + swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE1),
|
| + params[1].ToCFXWideString().c_str(),
|
| + params[3].ToCFXWideString().c_str());
|
| }
|
| else if (bGreaterThan)
|
| {
|
| if (dEentValue < dGreaterThan)
|
| - swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE2), (FX_LPCWSTR)params[1].operator CFX_WideString());
|
| + swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE2),
|
| + params[1].ToCFXWideString().c_str());
|
| }
|
| else if (bLessThan)
|
| {
|
| if (dEentValue > dLessThan)
|
| - swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE3), (FX_LPCWSTR)params[3].operator CFX_WideString());
|
| + swMsg.Format(JSGetStringFromID(pContext, IDS_STRING_JSRANGE3),
|
| + params[3].ToCFXWideString().c_str());
|
| }
|
|
|
| if (!swMsg.IsEmpty())
|
| @@ -2286,7 +2270,7 @@ FX_BOOL CJS_PublicMethods::AFExtractNums(IFXJS_Context* cc, const CJS_Parameters
|
|
|
| CJS_Array nums(isolate);
|
|
|
| - CFX_WideString str = params[0].operator CFX_WideString();
|
| + CFX_WideString str = params[0].ToCFXWideString();
|
| CFX_WideString sPart;
|
|
|
| if (str.GetAt(0) == L'.' || str.GetAt(0) == L',')
|
|
|