| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "xfa/fxfa/fm2js/xfa_fm2jscontext.h" | 7 #include "xfa/fxfa/fm2js/xfa_fm2jscontext.h" |
| 8 | 8 |
| 9 #include <time.h> | 9 #include <time.h> |
| 10 | 10 |
| (...skipping 1273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1284 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1284 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 1285 L"LocalTimeFmt"); | 1285 L"LocalTimeFmt"); |
| 1286 } | 1286 } |
| 1287 } | 1287 } |
| 1288 void CXFA_FM2JSContext::Num2Date(FXJSE_HOBJECT hThis, | 1288 void CXFA_FM2JSContext::Num2Date(FXJSE_HOBJECT hThis, |
| 1289 const CFX_ByteStringC& szFuncName, | 1289 const CFX_ByteStringC& szFuncName, |
| 1290 CFXJSE_Arguments& args) { | 1290 CFXJSE_Arguments& args) { |
| 1291 int32_t argc = args.GetLength(); | 1291 int32_t argc = args.GetLength(); |
| 1292 if ((argc > 0) && (argc < 4)) { | 1292 if ((argc > 0) && (argc < 4)) { |
| 1293 FX_BOOL bFlags = FALSE; | 1293 FX_BOOL bFlags = FALSE; |
| 1294 int32_t dDate; | 1294 int32_t dDate = 0; |
| 1295 CFX_ByteString formatString; | 1295 CFX_ByteString formatString; |
| 1296 CFX_ByteString localString; | 1296 CFX_ByteString localString; |
| 1297 FXJSE_HVALUE dateValue = GetSimpleHValue(hThis, args, 0); | 1297 FXJSE_HVALUE dateValue = GetSimpleHValue(hThis, args, 0); |
| 1298 FXJSE_HVALUE formatValue = 0; | 1298 FXJSE_HVALUE formatValue = 0; |
| 1299 FXJSE_HVALUE localValue = 0; | 1299 FXJSE_HVALUE localValue = 0; |
| 1300 if (HValueIsNull(hThis, dateValue)) { | 1300 if (HValueIsNull(hThis, dateValue)) { |
| 1301 bFlags = TRUE; | 1301 bFlags = TRUE; |
| 1302 } else { | 1302 } else { |
| 1303 dDate = (int32_t)HValueToFloat(hThis, dateValue); | 1303 dDate = (int32_t)HValueToFloat(hThis, dateValue); |
| 1304 bFlags = dDate < 1; | 1304 bFlags = dDate < 1; |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1439 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1439 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 1440 L"Num2Date"); | 1440 L"Num2Date"); |
| 1441 } | 1441 } |
| 1442 } | 1442 } |
| 1443 void CXFA_FM2JSContext::Num2GMTime(FXJSE_HOBJECT hThis, | 1443 void CXFA_FM2JSContext::Num2GMTime(FXJSE_HOBJECT hThis, |
| 1444 const CFX_ByteStringC& szFuncName, | 1444 const CFX_ByteStringC& szFuncName, |
| 1445 CFXJSE_Arguments& args) { | 1445 CFXJSE_Arguments& args) { |
| 1446 int32_t argc = args.GetLength(); | 1446 int32_t argc = args.GetLength(); |
| 1447 if ((argc > 0) && (argc < 4)) { | 1447 if ((argc > 0) && (argc < 4)) { |
| 1448 FX_BOOL bFlags = FALSE; | 1448 FX_BOOL bFlags = FALSE; |
| 1449 int32_t iTime; | 1449 int32_t iTime = 0; |
| 1450 CFX_ByteString formatString; | 1450 CFX_ByteString formatString; |
| 1451 CFX_ByteString localString; | 1451 CFX_ByteString localString; |
| 1452 FXJSE_HVALUE timeValue = GetSimpleHValue(hThis, args, 0); | 1452 FXJSE_HVALUE timeValue = GetSimpleHValue(hThis, args, 0); |
| 1453 FXJSE_HVALUE formatValue = 0; | 1453 FXJSE_HVALUE formatValue = 0; |
| 1454 FXJSE_HVALUE localValue = 0; | 1454 FXJSE_HVALUE localValue = 0; |
| 1455 if (FXJSE_Value_IsNull(timeValue)) { | 1455 if (FXJSE_Value_IsNull(timeValue)) { |
| 1456 bFlags = TRUE; | 1456 bFlags = TRUE; |
| 1457 } else { | 1457 } else { |
| 1458 iTime = (int32_t)HValueToFloat(hThis, timeValue); | 1458 iTime = (int32_t)HValueToFloat(hThis, timeValue); |
| 1459 if (FXSYS_abs(iTime) < 1.0) { | 1459 if (FXSYS_abs(iTime) < 1.0) { |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1501 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1501 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 1502 L"Num2GMTime"); | 1502 L"Num2GMTime"); |
| 1503 } | 1503 } |
| 1504 } | 1504 } |
| 1505 void CXFA_FM2JSContext::Num2Time(FXJSE_HOBJECT hThis, | 1505 void CXFA_FM2JSContext::Num2Time(FXJSE_HOBJECT hThis, |
| 1506 const CFX_ByteStringC& szFuncName, | 1506 const CFX_ByteStringC& szFuncName, |
| 1507 CFXJSE_Arguments& args) { | 1507 CFXJSE_Arguments& args) { |
| 1508 int32_t argc = args.GetLength(); | 1508 int32_t argc = args.GetLength(); |
| 1509 if ((argc > 0) && (argc < 4)) { | 1509 if ((argc > 0) && (argc < 4)) { |
| 1510 FX_BOOL bFlags = FALSE; | 1510 FX_BOOL bFlags = FALSE; |
| 1511 FX_FLOAT fTime; | 1511 FX_FLOAT fTime = 0.0f; |
| 1512 CFX_ByteString formatString; | 1512 CFX_ByteString formatString; |
| 1513 CFX_ByteString localString; | 1513 CFX_ByteString localString; |
| 1514 FXJSE_HVALUE timeValue = GetSimpleHValue(hThis, args, 0); | 1514 FXJSE_HVALUE timeValue = GetSimpleHValue(hThis, args, 0); |
| 1515 FXJSE_HVALUE formatValue = 0; | 1515 FXJSE_HVALUE formatValue = 0; |
| 1516 FXJSE_HVALUE localValue = 0; | 1516 FXJSE_HVALUE localValue = 0; |
| 1517 if (FXJSE_Value_IsNull(timeValue)) { | 1517 if (FXJSE_Value_IsNull(timeValue)) { |
| 1518 bFlags = TRUE; | 1518 bFlags = TRUE; |
| 1519 } else { | 1519 } else { |
| 1520 fTime = HValueToFloat(hThis, timeValue); | 1520 fTime = HValueToFloat(hThis, timeValue); |
| 1521 if (FXSYS_fabs(fTime) < 1.0) { | 1521 if (FXSYS_fabs(fTime) < 1.0) { |
| (...skipping 3331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4853 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 4853 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 4854 L"Space"); | 4854 L"Space"); |
| 4855 } | 4855 } |
| 4856 } | 4856 } |
| 4857 void CXFA_FM2JSContext::Str(FXJSE_HOBJECT hThis, | 4857 void CXFA_FM2JSContext::Str(FXJSE_HOBJECT hThis, |
| 4858 const CFX_ByteStringC& szFuncName, | 4858 const CFX_ByteStringC& szFuncName, |
| 4859 CFXJSE_Arguments& args) { | 4859 CFXJSE_Arguments& args) { |
| 4860 int32_t argc = args.GetLength(); | 4860 int32_t argc = args.GetLength(); |
| 4861 if ((argc > 0) && (argc < 4)) { | 4861 if ((argc > 0) && (argc < 4)) { |
| 4862 FX_BOOL bFlags = FALSE; | 4862 FX_BOOL bFlags = FALSE; |
| 4863 FX_FLOAT fNumber; | 4863 FX_FLOAT fNumber = 0.0f; |
| 4864 int32_t iWidth = 10; | 4864 int32_t iWidth = 10; |
| 4865 int32_t iPrecision = 0; | 4865 int32_t iPrecision = 0; |
| 4866 FXJSE_HVALUE numberValue = GetSimpleHValue(hThis, args, 0); | 4866 FXJSE_HVALUE numberValue = GetSimpleHValue(hThis, args, 0); |
| 4867 FXJSE_HVALUE widthValue = 0; | 4867 FXJSE_HVALUE widthValue = 0; |
| 4868 FXJSE_HVALUE precisionValue = 0; | 4868 FXJSE_HVALUE precisionValue = 0; |
| 4869 if (FXJSE_Value_IsNull(numberValue)) { | 4869 if (FXJSE_Value_IsNull(numberValue)) { |
| 4870 bFlags = TRUE; | 4870 bFlags = TRUE; |
| 4871 } else { | 4871 } else { |
| 4872 fNumber = HValueToFloat(hThis, numberValue); | 4872 fNumber = HValueToFloat(hThis, numberValue); |
| 4873 } | 4873 } |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5164 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 5164 pContext->ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, |
| 5165 L"Upper"); | 5165 L"Upper"); |
| 5166 } | 5166 } |
| 5167 } | 5167 } |
| 5168 void CXFA_FM2JSContext::WordNum(FXJSE_HOBJECT hThis, | 5168 void CXFA_FM2JSContext::WordNum(FXJSE_HOBJECT hThis, |
| 5169 const CFX_ByteStringC& szFuncName, | 5169 const CFX_ByteStringC& szFuncName, |
| 5170 CFXJSE_Arguments& args) { | 5170 CFXJSE_Arguments& args) { |
| 5171 int32_t argc = args.GetLength(); | 5171 int32_t argc = args.GetLength(); |
| 5172 if ((argc > 0) && (argc < 4)) { | 5172 if ((argc > 0) && (argc < 4)) { |
| 5173 FX_BOOL bFlags = FALSE; | 5173 FX_BOOL bFlags = FALSE; |
| 5174 FX_FLOAT fNumber; | 5174 FX_FLOAT fNumber = 0.0f; |
| 5175 int32_t iIdentifier = 0; | 5175 int32_t iIdentifier = 0; |
| 5176 CFX_ByteString localeString; | 5176 CFX_ByteString localeString; |
| 5177 FXJSE_HVALUE numberValue = GetSimpleHValue(hThis, args, 0); | 5177 FXJSE_HVALUE numberValue = GetSimpleHValue(hThis, args, 0); |
| 5178 FXJSE_HVALUE identifierValue = 0; | 5178 FXJSE_HVALUE identifierValue = 0; |
| 5179 FXJSE_HVALUE localeValue = 0; | 5179 FXJSE_HVALUE localeValue = 0; |
| 5180 if (FXJSE_Value_IsNull(numberValue)) { | 5180 if (FXJSE_Value_IsNull(numberValue)) { |
| 5181 bFlags = TRUE; | 5181 bFlags = TRUE; |
| 5182 } else { | 5182 } else { |
| 5183 fNumber = HValueToFloat(hThis, numberValue); | 5183 fNumber = HValueToFloat(hThis, numberValue); |
| 5184 } | 5184 } |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5470 IXFA_AppProvider* pAppProvider = | 5470 IXFA_AppProvider* pAppProvider = |
| 5471 pDoc->GetParser()->GetNotify()->GetAppProvider(); | 5471 pDoc->GetParser()->GetNotify()->GetAppProvider(); |
| 5472 if (!pAppProvider) { | 5472 if (!pAppProvider) { |
| 5473 return; | 5473 return; |
| 5474 } | 5474 } |
| 5475 CFX_ByteString bsURL; | 5475 CFX_ByteString bsURL; |
| 5476 CFX_ByteString bsData; | 5476 CFX_ByteString bsData; |
| 5477 CFX_ByteString bsContentType; | 5477 CFX_ByteString bsContentType; |
| 5478 CFX_ByteString bsEncode; | 5478 CFX_ByteString bsEncode; |
| 5479 CFX_ByteString bsHeader; | 5479 CFX_ByteString bsHeader; |
| 5480 FXJSE_HVALUE argOne; | 5480 FXJSE_HVALUE argThree = nullptr; |
| 5481 FXJSE_HVALUE argTwo; | 5481 FXJSE_HVALUE argFour = nullptr; |
| 5482 FXJSE_HVALUE argThree; | 5482 FXJSE_HVALUE argFive = nullptr; |
| 5483 FXJSE_HVALUE argFour; | 5483 FXJSE_HVALUE argOne = GetSimpleHValue(hThis, args, 0); |
| 5484 FXJSE_HVALUE argFive; | |
| 5485 argOne = GetSimpleHValue(hThis, args, 0); | |
| 5486 HValueToUTF8String(argOne, bsURL); | 5484 HValueToUTF8String(argOne, bsURL); |
| 5487 argTwo = GetSimpleHValue(hThis, args, 1); | 5485 FXJSE_HVALUE argTwo = GetSimpleHValue(hThis, args, 1); |
| 5488 HValueToUTF8String(argTwo, bsData); | 5486 HValueToUTF8String(argTwo, bsData); |
| 5489 if (argc > 2) { | 5487 if (argc > 2) { |
| 5490 argThree = GetSimpleHValue(hThis, args, 2); | 5488 argThree = GetSimpleHValue(hThis, args, 2); |
| 5491 HValueToUTF8String(argThree, bsContentType); | 5489 HValueToUTF8String(argThree, bsContentType); |
| 5492 } | 5490 } |
| 5493 if (argc > 3) { | 5491 if (argc > 3) { |
| 5494 argFour = GetSimpleHValue(hThis, args, 3); | 5492 argFour = GetSimpleHValue(hThis, args, 3); |
| 5495 HValueToUTF8String(argFour, bsEncode); | 5493 HValueToUTF8String(argFour, bsEncode); |
| 5496 } | 5494 } |
| 5497 if (argc > 4) { | 5495 if (argc > 4) { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5541 return; | 5539 return; |
| 5542 } | 5540 } |
| 5543 IXFA_AppProvider* pAppProvider = | 5541 IXFA_AppProvider* pAppProvider = |
| 5544 pDoc->GetParser()->GetNotify()->GetAppProvider(); | 5542 pDoc->GetParser()->GetNotify()->GetAppProvider(); |
| 5545 if (!pAppProvider) { | 5543 if (!pAppProvider) { |
| 5546 return; | 5544 return; |
| 5547 } | 5545 } |
| 5548 CFX_ByteString bsURL; | 5546 CFX_ByteString bsURL; |
| 5549 CFX_ByteString bsData; | 5547 CFX_ByteString bsData; |
| 5550 CFX_ByteString bsEncode; | 5548 CFX_ByteString bsEncode; |
| 5551 FXJSE_HVALUE argOne; | 5549 FXJSE_HVALUE argThree = nullptr; |
| 5552 FXJSE_HVALUE argTwo; | 5550 FXJSE_HVALUE argOne = GetSimpleHValue(hThis, args, 0); |
| 5553 FXJSE_HVALUE argThree; | |
| 5554 argOne = GetSimpleHValue(hThis, args, 0); | |
| 5555 HValueToUTF8String(argOne, bsURL); | 5551 HValueToUTF8String(argOne, bsURL); |
| 5556 argTwo = GetSimpleHValue(hThis, args, 1); | 5552 FXJSE_HVALUE argTwo = GetSimpleHValue(hThis, args, 1); |
| 5557 HValueToUTF8String(argTwo, bsData); | 5553 HValueToUTF8String(argTwo, bsData); |
| 5558 if (argc > 2) { | 5554 if (argc > 2) { |
| 5559 argThree = GetSimpleHValue(hThis, args, 2); | 5555 argThree = GetSimpleHValue(hThis, args, 2); |
| 5560 HValueToUTF8String(argThree, bsEncode); | 5556 HValueToUTF8String(argThree, bsEncode); |
| 5561 } | 5557 } |
| 5562 FX_BOOL bFlags = pAppProvider->PutRequestURL( | 5558 FX_BOOL bFlags = pAppProvider->PutRequestURL( |
| 5563 CFX_WideString::FromUTF8(bsURL.AsStringC()), | 5559 CFX_WideString::FromUTF8(bsURL.AsStringC()), |
| 5564 CFX_WideString::FromUTF8(bsData.AsStringC()), | 5560 CFX_WideString::FromUTF8(bsData.AsStringC()), |
| 5565 CFX_WideString::FromUTF8(bsEncode.AsStringC())); | 5561 CFX_WideString::FromUTF8(bsEncode.AsStringC())); |
| 5566 FXJSE_Value_Release(argOne); | 5562 FXJSE_Value_Release(argOne); |
| (...skipping 1644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7211 CFX_WideString wsFormat; | 7207 CFX_WideString wsFormat; |
| 7212 pAppProvider->LoadString(iStringID, wsFormat); | 7208 pAppProvider->LoadString(iStringID, wsFormat); |
| 7213 CFX_WideString wsMessage; | 7209 CFX_WideString wsMessage; |
| 7214 va_list arg_ptr; | 7210 va_list arg_ptr; |
| 7215 va_start(arg_ptr, iStringID); | 7211 va_start(arg_ptr, iStringID); |
| 7216 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); | 7212 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); |
| 7217 va_end(arg_ptr); | 7213 va_end(arg_ptr); |
| 7218 FXJSE_ThrowMessage( | 7214 FXJSE_ThrowMessage( |
| 7219 "", FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); | 7215 "", FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC()); |
| 7220 } | 7216 } |
| OLD | NEW |