| 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/parser/xfa_object.h" | 7 #include "xfa/fxfa/parser/xfa_object.h" |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, | 83 void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue, |
| 84 FX_BOOL bSetting, | 84 FX_BOOL bSetting, |
| 85 XFA_ATTRIBUTE eAttribute) { | 85 XFA_ATTRIBUTE eAttribute) { |
| 86 if (!bSetting) { | 86 if (!bSetting) { |
| 87 CFX_WideStringC className; | 87 CFX_WideStringC className; |
| 88 GetClassName(className); | 88 GetClassName(className); |
| 89 FXJSE_Value_SetUTF8String( | 89 FXJSE_Value_SetUTF8String( |
| 90 pValue, | 90 pValue, |
| 91 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); | 91 FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC()); |
| 92 } else { | 92 } else { |
| 93 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 93 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 94 } | 94 } |
| 95 } | 95 } |
| 96 | 96 |
| 97 void CXFA_Object::ThrowScriptErrorMessage(int32_t iStringID, ...) { | 97 void CXFA_Object::ThrowException(int32_t iStringID, ...) { |
| 98 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); | 98 IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider(); |
| 99 ASSERT(pAppProvider); | 99 ASSERT(pAppProvider); |
| 100 CFX_WideString wsFormat; | 100 CFX_WideString wsFormat; |
| 101 pAppProvider->LoadString(iStringID, wsFormat); | 101 pAppProvider->LoadString(iStringID, wsFormat); |
| 102 CFX_WideString wsMessage; | 102 CFX_WideString wsMessage; |
| 103 va_list arg_ptr; | 103 va_list arg_ptr; |
| 104 va_start(arg_ptr, iStringID); | 104 va_start(arg_ptr, iStringID); |
| 105 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); | 105 wsMessage.FormatV(wsFormat.c_str(), arg_ptr); |
| 106 va_end(arg_ptr); | 106 va_end(arg_ptr); |
| 107 FXJSE_ThrowMessage( | 107 FXJSE_ThrowMessage( |
| (...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 621 } | 621 } |
| 622 | 622 |
| 623 void CXFA_Node::SetDataDescriptionNode(CXFA_Node* pDataDescriptionNode) { | 623 void CXFA_Node::SetDataDescriptionNode(CXFA_Node* pDataDescriptionNode) { |
| 624 ASSERT(m_ePacket == XFA_XDPPACKET_Datasets); | 624 ASSERT(m_ePacket == XFA_XDPPACKET_Datasets); |
| 625 m_pAuxNode = pDataDescriptionNode; | 625 m_pAuxNode = pDataDescriptionNode; |
| 626 } | 626 } |
| 627 | 627 |
| 628 void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) { | 628 void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) { |
| 629 int32_t iLength = pArguments->GetLength(); | 629 int32_t iLength = pArguments->GetLength(); |
| 630 if (iLength != 1) { | 630 if (iLength != 1) { |
| 631 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNode"); | 631 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNode"); |
| 632 return; | 632 return; |
| 633 } | 633 } |
| 634 CFX_WideString wsExpression = | 634 CFX_WideString wsExpression = |
| 635 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 635 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 636 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); | 636 CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); |
| 637 if (!pScriptContext) | 637 if (!pScriptContext) |
| 638 return; | 638 return; |
| 639 CXFA_Node* refNode = this; | 639 CXFA_Node* refNode = this; |
| 640 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) | 640 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) |
| 641 refNode = ToNode(pScriptContext->GetThisObject()); | 641 refNode = ToNode(pScriptContext->GetThisObject()); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 662 FXJSE_Value_Set(pArguments->GetReturnValue(), pValue.get()); | 662 FXJSE_Value_Set(pArguments->GetReturnValue(), pValue.get()); |
| 663 } else { | 663 } else { |
| 664 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 664 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 665 } | 665 } |
| 666 } | 666 } |
| 667 } | 667 } |
| 668 | 668 |
| 669 void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) { | 669 void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) { |
| 670 int32_t iLength = pArguments->GetLength(); | 670 int32_t iLength = pArguments->GetLength(); |
| 671 if (iLength != 1) { | 671 if (iLength != 1) { |
| 672 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 672 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resolveNodes"); |
| 673 L"resolveNodes"); | |
| 674 return; | 673 return; |
| 675 } | 674 } |
| 676 CFX_WideString wsExpression = | 675 CFX_WideString wsExpression = |
| 677 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 676 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 678 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 677 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 679 if (!pValue) | 678 if (!pValue) |
| 680 return; | 679 return; |
| 681 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | | 680 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | |
| 682 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | | 681 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | |
| 683 XFA_RESOLVENODE_Siblings; | 682 XFA_RESOLVENODE_Siblings; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 717 } | 716 } |
| 718 } | 717 } |
| 719 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, | 718 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, |
| 720 pScriptContext->GetJseNormalClass()); | 719 pScriptContext->GetJseNormalClass()); |
| 721 } | 720 } |
| 722 | 721 |
| 723 void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue, | 722 void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue, |
| 724 FX_BOOL bSetting, | 723 FX_BOOL bSetting, |
| 725 XFA_ATTRIBUTE eAttribute) { | 724 XFA_ATTRIBUTE eAttribute) { |
| 726 if (bSetting) { | 725 if (bSetting) { |
| 727 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 726 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 728 } else { | 727 } else { |
| 729 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; | 728 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; |
| 730 CFX_WideString wsName; | 729 CFX_WideString wsName; |
| 731 GetAttribute(XFA_ATTRIBUTE_Name, wsName); | 730 GetAttribute(XFA_ATTRIBUTE_Name, wsName); |
| 732 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); | 731 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); |
| 733 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); | 732 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); |
| 734 } | 733 } |
| 735 } | 734 } |
| 736 | 735 |
| 737 void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue, | 736 void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 752 CXFA_AttachNodeList* pNodeList = new CXFA_AttachNodeList(m_pDocument, this); | 751 CXFA_AttachNodeList* pNodeList = new CXFA_AttachNodeList(m_pDocument, this); |
| 753 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, | 752 FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList, |
| 754 pScriptContext->GetJseNormalClass()); | 753 pScriptContext->GetJseNormalClass()); |
| 755 } | 754 } |
| 756 } | 755 } |
| 757 | 756 |
| 758 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue, | 757 void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue, |
| 759 FX_BOOL bSetting, | 758 FX_BOOL bSetting, |
| 760 XFA_ATTRIBUTE eAttribute) { | 759 XFA_ATTRIBUTE eAttribute) { |
| 761 if (bSetting) { | 760 if (bSetting) { |
| 762 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 761 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 763 } else { | 762 } else { |
| 764 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; | 763 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; |
| 765 CFX_WideStringC wsName; | 764 CFX_WideStringC wsName; |
| 766 GetClassName(wsName); | 765 GetClassName(wsName); |
| 767 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); | 766 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); |
| 768 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); | 767 Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag); |
| 769 } | 768 } |
| 770 } | 769 } |
| 771 | 770 |
| 772 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue, | 771 void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue, |
| 773 FX_BOOL bSetting, | 772 FX_BOOL bSetting, |
| 774 XFA_ATTRIBUTE eAttribute) { | 773 XFA_ATTRIBUTE eAttribute) { |
| 775 if (bSetting) { | 774 if (bSetting) { |
| 776 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 775 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 777 } else { | 776 } else { |
| 778 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); | 777 CXFA_Node* pParent = GetNodeItem(XFA_NODEITEM_Parent); |
| 779 if (pParent) { | 778 if (pParent) { |
| 780 FXJSE_Value_Set( | 779 FXJSE_Value_Set( |
| 781 pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap(pParent)); | 780 pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap(pParent)); |
| 782 } else { | 781 } else { |
| 783 FXJSE_Value_SetNull(pValue); | 782 FXJSE_Value_SetNull(pValue); |
| 784 } | 783 } |
| 785 } | 784 } |
| 786 } | 785 } |
| 787 | 786 |
| 788 void CXFA_Node::Script_TreeClass_Index(CFXJSE_Value* pValue, | 787 void CXFA_Node::Script_TreeClass_Index(CFXJSE_Value* pValue, |
| 789 FX_BOOL bSetting, | 788 FX_BOOL bSetting, |
| 790 XFA_ATTRIBUTE eAttribute) { | 789 XFA_ATTRIBUTE eAttribute) { |
| 791 if (bSetting) | 790 if (bSetting) |
| 792 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 791 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 793 else | 792 else |
| 794 FXJSE_Value_SetInteger(pValue, GetNodeSameNameIndex()); | 793 FXJSE_Value_SetInteger(pValue, GetNodeSameNameIndex()); |
| 795 } | 794 } |
| 796 | 795 |
| 797 void CXFA_Node::Script_TreeClass_ClassIndex(CFXJSE_Value* pValue, | 796 void CXFA_Node::Script_TreeClass_ClassIndex(CFXJSE_Value* pValue, |
| 798 FX_BOOL bSetting, | 797 FX_BOOL bSetting, |
| 799 XFA_ATTRIBUTE eAttribute) { | 798 XFA_ATTRIBUTE eAttribute) { |
| 800 if (bSetting) | 799 if (bSetting) |
| 801 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 800 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 802 else | 801 else |
| 803 FXJSE_Value_SetInteger(pValue, GetNodeSameClassIndex()); | 802 FXJSE_Value_SetInteger(pValue, GetNodeSameClassIndex()); |
| 804 } | 803 } |
| 805 | 804 |
| 806 void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue, | 805 void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue, |
| 807 FX_BOOL bSetting, | 806 FX_BOOL bSetting, |
| 808 XFA_ATTRIBUTE eAttribute) { | 807 XFA_ATTRIBUTE eAttribute) { |
| 809 if (bSetting) { | 808 if (bSetting) { |
| 810 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 809 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 811 } else { | 810 } else { |
| 812 CFX_WideString wsSOMExpression; | 811 CFX_WideString wsSOMExpression; |
| 813 GetSOMExpression(wsSOMExpression); | 812 GetSOMExpression(wsSOMExpression); |
| 814 FXJSE_Value_SetUTF8String(pValue, | 813 FXJSE_Value_SetUTF8String(pValue, |
| 815 FX_UTF8Encode(wsSOMExpression).AsStringC()); | 814 FX_UTF8Encode(wsSOMExpression).AsStringC()); |
| 816 } | 815 } |
| 817 } | 816 } |
| 818 | 817 |
| 819 void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) { | 818 void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) { |
| 820 int32_t iLength = pArguments->GetLength(); | 819 int32_t iLength = pArguments->GetLength(); |
| 821 if (iLength != 1) { | 820 if (iLength != 1) { |
| 822 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"applyXSL"); | 821 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"applyXSL"); |
| 823 return; | 822 return; |
| 824 } | 823 } |
| 825 CFX_WideString wsExpression = | 824 CFX_WideString wsExpression = |
| 826 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 825 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 827 // TODO(weili): check whether we need to implement this, pdfium:501. | 826 // TODO(weili): check whether we need to implement this, pdfium:501. |
| 828 // For now, just put the variables here to avoid unused variable warning. | 827 // For now, just put the variables here to avoid unused variable warning. |
| 829 (void)wsExpression; | 828 (void)wsExpression; |
| 830 } | 829 } |
| 831 | 830 |
| 832 void CXFA_Node::Script_NodeClass_AssignNode(CFXJSE_Arguments* pArguments) { | 831 void CXFA_Node::Script_NodeClass_AssignNode(CFXJSE_Arguments* pArguments) { |
| 833 int32_t iLength = pArguments->GetLength(); | 832 int32_t iLength = pArguments->GetLength(); |
| 834 if (iLength < 1 || iLength > 3) { | 833 if (iLength < 1 || iLength > 3) { |
| 835 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"assignNode"); | 834 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"assignNode"); |
| 836 return; | 835 return; |
| 837 } | 836 } |
| 838 CFX_WideString wsExpression; | 837 CFX_WideString wsExpression; |
| 839 CFX_WideString wsValue; | 838 CFX_WideString wsValue; |
| 840 int32_t iAction = 0; | 839 int32_t iAction = 0; |
| 841 wsExpression = | 840 wsExpression = |
| 842 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 841 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 843 if (iLength >= 2) { | 842 if (iLength >= 2) { |
| 844 wsValue = | 843 wsValue = |
| 845 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); | 844 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); |
| 846 } | 845 } |
| 847 if (iLength >= 3) | 846 if (iLength >= 3) |
| 848 iAction = pArguments->GetInt32(2); | 847 iAction = pArguments->GetInt32(2); |
| 849 // TODO(weili): check whether we need to implement this, pdfium:501. | 848 // TODO(weili): check whether we need to implement this, pdfium:501. |
| 850 // For now, just put the variables here to avoid unused variable warning. | 849 // For now, just put the variables here to avoid unused variable warning. |
| 851 (void)wsExpression; | 850 (void)wsExpression; |
| 852 (void)wsValue; | 851 (void)wsValue; |
| 853 (void)iAction; | 852 (void)iAction; |
| 854 } | 853 } |
| 855 | 854 |
| 856 void CXFA_Node::Script_NodeClass_Clone(CFXJSE_Arguments* pArguments) { | 855 void CXFA_Node::Script_NodeClass_Clone(CFXJSE_Arguments* pArguments) { |
| 857 int32_t iLength = pArguments->GetLength(); | 856 int32_t iLength = pArguments->GetLength(); |
| 858 if (iLength != 1) { | 857 if (iLength != 1) { |
| 859 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"clone"); | 858 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"clone"); |
| 860 return; | 859 return; |
| 861 } | 860 } |
| 862 bool bClone = !!pArguments->GetInt32(0); | 861 bool bClone = !!pArguments->GetInt32(0); |
| 863 CXFA_Node* pCloneNode = Clone(bClone); | 862 CXFA_Node* pCloneNode = Clone(bClone); |
| 864 FXJSE_Value_Set( | 863 FXJSE_Value_Set( |
| 865 pArguments->GetReturnValue(), | 864 pArguments->GetReturnValue(), |
| 866 m_pDocument->GetScriptContext()->GetJSValueFromMap(pCloneNode)); | 865 m_pDocument->GetScriptContext()->GetJSValueFromMap(pCloneNode)); |
| 867 } | 866 } |
| 868 | 867 |
| 869 void CXFA_Node::Script_NodeClass_GetAttribute(CFXJSE_Arguments* pArguments) { | 868 void CXFA_Node::Script_NodeClass_GetAttribute(CFXJSE_Arguments* pArguments) { |
| 870 int32_t iLength = pArguments->GetLength(); | 869 int32_t iLength = pArguments->GetLength(); |
| 871 if (iLength != 1) { | 870 if (iLength != 1) { |
| 872 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 871 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getAttribute"); |
| 873 L"getAttribute"); | |
| 874 return; | 872 return; |
| 875 } | 873 } |
| 876 CFX_WideString wsExpression = | 874 CFX_WideString wsExpression = |
| 877 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 875 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 878 CFX_WideString wsValue; | 876 CFX_WideString wsValue; |
| 879 GetAttribute(wsExpression.AsStringC(), wsValue); | 877 GetAttribute(wsExpression.AsStringC(), wsValue); |
| 880 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 878 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 881 if (pValue) | 879 if (pValue) |
| 882 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); | 880 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC()); |
| 883 } | 881 } |
| 884 | 882 |
| 885 void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) { | 883 void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) { |
| 886 int32_t iLength = pArguments->GetLength(); | 884 int32_t iLength = pArguments->GetLength(); |
| 887 if (iLength < 1 || iLength > 2) { | 885 if (iLength < 1 || iLength > 2) { |
| 888 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getElement"); | 886 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getElement"); |
| 889 return; | 887 return; |
| 890 } | 888 } |
| 891 CFX_WideString wsExpression; | 889 CFX_WideString wsExpression; |
| 892 int32_t iValue = 0; | 890 int32_t iValue = 0; |
| 893 wsExpression = | 891 wsExpression = |
| 894 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 892 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 895 if (iLength >= 2) | 893 if (iLength >= 2) |
| 896 iValue = pArguments->GetInt32(1); | 894 iValue = pArguments->GetInt32(1); |
| 897 const XFA_ELEMENTINFO* pElementInfo = | 895 const XFA_ELEMENTINFO* pElementInfo = |
| 898 XFA_GetElementByName(wsExpression.AsStringC()); | 896 XFA_GetElementByName(wsExpression.AsStringC()); |
| 899 CXFA_Node* pNode = GetProperty(iValue, pElementInfo->eName); | 897 CXFA_Node* pNode = GetProperty(iValue, pElementInfo->eName); |
| 900 FXJSE_Value_Set(pArguments->GetReturnValue(), | 898 FXJSE_Value_Set(pArguments->GetReturnValue(), |
| 901 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); | 899 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); |
| 902 } | 900 } |
| 903 | 901 |
| 904 void CXFA_Node::Script_NodeClass_IsPropertySpecified( | 902 void CXFA_Node::Script_NodeClass_IsPropertySpecified( |
| 905 CFXJSE_Arguments* pArguments) { | 903 CFXJSE_Arguments* pArguments) { |
| 906 int32_t iLength = pArguments->GetLength(); | 904 int32_t iLength = pArguments->GetLength(); |
| 907 if (iLength < 1 || iLength > 3) { | 905 if (iLength < 1 || iLength > 3) { |
| 908 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 906 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isPropertySpecified"); |
| 909 L"isPropertySpecified"); | |
| 910 return; | 907 return; |
| 911 } | 908 } |
| 912 CFX_WideString wsExpression; | 909 CFX_WideString wsExpression; |
| 913 bool bParent = true; | 910 bool bParent = true; |
| 914 int32_t iIndex = 0; | 911 int32_t iIndex = 0; |
| 915 wsExpression = | 912 wsExpression = |
| 916 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 913 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 917 if (iLength >= 2) | 914 if (iLength >= 2) |
| 918 bParent = !!pArguments->GetInt32(1); | 915 bParent = !!pArguments->GetInt32(1); |
| 919 if (iLength >= 3) | 916 if (iLength >= 3) |
| (...skipping 16 matching lines...) Expand all Loading... |
| 936 } | 933 } |
| 937 } | 934 } |
| 938 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 935 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 939 if (pValue) | 936 if (pValue) |
| 940 FXJSE_Value_SetBoolean(pValue, bHas); | 937 FXJSE_Value_SetBoolean(pValue, bHas); |
| 941 } | 938 } |
| 942 | 939 |
| 943 void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { | 940 void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { |
| 944 int32_t iLength = pArguments->GetLength(); | 941 int32_t iLength = pArguments->GetLength(); |
| 945 if (iLength < 1 || iLength > 3) { | 942 if (iLength < 1 || iLength > 3) { |
| 946 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"loadXML"); | 943 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"loadXML"); |
| 947 return; | 944 return; |
| 948 } | 945 } |
| 949 CFX_WideString wsExpression; | 946 CFX_WideString wsExpression; |
| 950 bool bIgnoreRoot = true; | 947 bool bIgnoreRoot = true; |
| 951 bool bOverwrite = 0; | 948 bool bOverwrite = 0; |
| 952 wsExpression = | 949 wsExpression = |
| 953 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 950 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 954 if (wsExpression.IsEmpty()) | 951 if (wsExpression.IsEmpty()) |
| 955 return; | 952 return; |
| 956 if (iLength >= 2) | 953 if (iLength >= 2) |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1058 } | 1055 } |
| 1059 } | 1056 } |
| 1060 | 1057 |
| 1061 void CXFA_Node::Script_NodeClass_SaveFilteredXML(CFXJSE_Arguments* pArguments) { | 1058 void CXFA_Node::Script_NodeClass_SaveFilteredXML(CFXJSE_Arguments* pArguments) { |
| 1062 // TODO(weili): Check whether we need to implement this, pdfium:501. | 1059 // TODO(weili): Check whether we need to implement this, pdfium:501. |
| 1063 } | 1060 } |
| 1064 | 1061 |
| 1065 void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) { | 1062 void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) { |
| 1066 int32_t iLength = pArguments->GetLength(); | 1063 int32_t iLength = pArguments->GetLength(); |
| 1067 if (iLength < 0 || iLength > 1) { | 1064 if (iLength < 0 || iLength > 1) { |
| 1068 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"saveXML"); | 1065 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"saveXML"); |
| 1069 return; | 1066 return; |
| 1070 } | 1067 } |
| 1071 bool bPrettyMode = false; | 1068 bool bPrettyMode = false; |
| 1072 if (iLength == 1) { | 1069 if (iLength == 1) { |
| 1073 if (pArguments->GetUTF8String(0) != "pretty") { | 1070 if (pArguments->GetUTF8String(0) != "pretty") { |
| 1074 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 1071 ThrowException(XFA_IDS_ARGUMENT_MISMATCH); |
| 1075 return; | 1072 return; |
| 1076 } | 1073 } |
| 1077 bPrettyMode = true; | 1074 bPrettyMode = true; |
| 1078 } | 1075 } |
| 1079 CFX_ByteStringC bsXMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; | 1076 CFX_ByteStringC bsXMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; |
| 1080 if (GetPacketID() == XFA_XDPPACKET_Form || | 1077 if (GetPacketID() == XFA_XDPPACKET_Form || |
| 1081 GetPacketID() == XFA_XDPPACKET_Datasets) { | 1078 GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 1082 CFDE_XMLNode* pElement = nullptr; | 1079 CFDE_XMLNode* pElement = nullptr; |
| 1083 if (GetPacketID() == XFA_XDPPACKET_Datasets) { | 1080 if (GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 1084 pElement = GetXMLMappingNode(); | 1081 pElement = GetXMLMappingNode(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1112 pArguments->GetReturnValue(), | 1109 pArguments->GetReturnValue(), |
| 1113 CFX_ByteStringC(pMemoryStream->GetBuffer(), pMemoryStream->GetSize())); | 1110 CFX_ByteStringC(pMemoryStream->GetBuffer(), pMemoryStream->GetSize())); |
| 1114 return; | 1111 return; |
| 1115 } | 1112 } |
| 1116 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); | 1113 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); |
| 1117 } | 1114 } |
| 1118 | 1115 |
| 1119 void CXFA_Node::Script_NodeClass_SetAttribute(CFXJSE_Arguments* pArguments) { | 1116 void CXFA_Node::Script_NodeClass_SetAttribute(CFXJSE_Arguments* pArguments) { |
| 1120 int32_t iLength = pArguments->GetLength(); | 1117 int32_t iLength = pArguments->GetLength(); |
| 1121 if (iLength != 2) { | 1118 if (iLength != 2) { |
| 1122 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1119 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setAttribute"); |
| 1123 L"setAttribute"); | |
| 1124 return; | 1120 return; |
| 1125 } | 1121 } |
| 1126 CFX_WideString wsAttributeValue = | 1122 CFX_WideString wsAttributeValue = |
| 1127 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); | 1123 CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC()); |
| 1128 CFX_WideString wsAttribute = | 1124 CFX_WideString wsAttribute = |
| 1129 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); | 1125 CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); |
| 1130 SetAttribute(wsAttribute.AsStringC(), wsAttributeValue.AsStringC(), true); | 1126 SetAttribute(wsAttribute.AsStringC(), wsAttributeValue.AsStringC(), true); |
| 1131 } | 1127 } |
| 1132 | 1128 |
| 1133 void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) { | 1129 void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) { |
| 1134 int32_t iLength = pArguments->GetLength(); | 1130 int32_t iLength = pArguments->GetLength(); |
| 1135 if (iLength != 1 && iLength != 2) { | 1131 if (iLength != 1 && iLength != 2) { |
| 1136 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setElement"); | 1132 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setElement"); |
| 1137 return; | 1133 return; |
| 1138 } | 1134 } |
| 1139 CXFA_Node* pNode = nullptr; | 1135 CXFA_Node* pNode = nullptr; |
| 1140 CFX_WideString wsName; | 1136 CFX_WideString wsName; |
| 1141 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 1137 pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 1142 if (iLength == 2) | 1138 if (iLength == 2) |
| 1143 wsName = CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); | 1139 wsName = CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC()); |
| 1144 // TODO(weili): check whether we need to implement this, pdfium:501. | 1140 // TODO(weili): check whether we need to implement this, pdfium:501. |
| 1145 // For now, just put the variables here to avoid unused variable warning. | 1141 // For now, just put the variables here to avoid unused variable warning. |
| 1146 (void)pNode; | 1142 (void)pNode; |
| 1147 (void)wsName; | 1143 (void)wsName; |
| 1148 } | 1144 } |
| 1149 | 1145 |
| 1150 void CXFA_Node::Script_NodeClass_Ns(CFXJSE_Value* pValue, | 1146 void CXFA_Node::Script_NodeClass_Ns(CFXJSE_Value* pValue, |
| 1151 FX_BOOL bSetting, | 1147 FX_BOOL bSetting, |
| 1152 XFA_ATTRIBUTE eAttribute) { | 1148 XFA_ATTRIBUTE eAttribute) { |
| 1153 if (bSetting) { | 1149 if (bSetting) { |
| 1154 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1150 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1155 } else { | 1151 } else { |
| 1156 CFX_WideString wsNameSpace; | 1152 CFX_WideString wsNameSpace; |
| 1157 TryNamespace(wsNameSpace); | 1153 TryNamespace(wsNameSpace); |
| 1158 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsNameSpace).AsStringC()); | 1154 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsNameSpace).AsStringC()); |
| 1159 } | 1155 } |
| 1160 } | 1156 } |
| 1161 | 1157 |
| 1162 void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue, | 1158 void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue, |
| 1163 FX_BOOL bSetting, | 1159 FX_BOOL bSetting, |
| 1164 XFA_ATTRIBUTE eAttribute) { | 1160 XFA_ATTRIBUTE eAttribute) { |
| 1165 if (bSetting) { | 1161 if (bSetting) { |
| 1166 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1162 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1167 } else { | 1163 } else { |
| 1168 FXJSE_Value_Set(pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap( | 1164 FXJSE_Value_Set(pValue, m_pDocument->GetScriptContext()->GetJSValueFromMap( |
| 1169 GetModelNode())); | 1165 GetModelNode())); |
| 1170 } | 1166 } |
| 1171 } | 1167 } |
| 1172 | 1168 |
| 1173 void CXFA_Node::Script_NodeClass_IsContainer(CFXJSE_Value* pValue, | 1169 void CXFA_Node::Script_NodeClass_IsContainer(CFXJSE_Value* pValue, |
| 1174 FX_BOOL bSetting, | 1170 FX_BOOL bSetting, |
| 1175 XFA_ATTRIBUTE eAttribute) { | 1171 XFA_ATTRIBUTE eAttribute) { |
| 1176 if (bSetting) | 1172 if (bSetting) |
| 1177 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1173 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1178 else | 1174 else |
| 1179 FXJSE_Value_SetBoolean(pValue, IsContainerNode()); | 1175 FXJSE_Value_SetBoolean(pValue, IsContainerNode()); |
| 1180 } | 1176 } |
| 1181 | 1177 |
| 1182 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, | 1178 void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue, |
| 1183 FX_BOOL bSetting, | 1179 FX_BOOL bSetting, |
| 1184 XFA_ATTRIBUTE eAttribute) { | 1180 XFA_ATTRIBUTE eAttribute) { |
| 1185 if (bSetting) { | 1181 if (bSetting) { |
| 1186 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1182 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1187 } else { | 1183 } else { |
| 1188 if (GetClassID() == XFA_ELEMENT_Subform) { | 1184 if (GetClassID() == XFA_ELEMENT_Subform) { |
| 1189 FXJSE_Value_SetBoolean(pValue, FALSE); | 1185 FXJSE_Value_SetBoolean(pValue, FALSE); |
| 1190 return; | 1186 return; |
| 1191 } | 1187 } |
| 1192 CFX_WideString strValue; | 1188 CFX_WideString strValue; |
| 1193 FXJSE_Value_SetBoolean(pValue, !TryContent(strValue) || strValue.IsEmpty()); | 1189 FXJSE_Value_SetBoolean(pValue, !TryContent(strValue) || strValue.IsEmpty()); |
| 1194 } | 1190 } |
| 1195 } | 1191 } |
| 1196 | 1192 |
| 1197 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, | 1193 void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue, |
| 1198 FX_BOOL bSetting, | 1194 FX_BOOL bSetting, |
| 1199 XFA_ATTRIBUTE eAttribute) { | 1195 XFA_ATTRIBUTE eAttribute) { |
| 1200 if (bSetting) { | 1196 if (bSetting) { |
| 1201 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1197 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1202 } else { | 1198 } else { |
| 1203 CXFA_NodeArray properts; | 1199 CXFA_NodeArray properts; |
| 1204 int32_t iSize = GetNodeList(properts, XFA_NODEFILTER_OneOfProperty); | 1200 int32_t iSize = GetNodeList(properts, XFA_NODEFILTER_OneOfProperty); |
| 1205 if (iSize > 0) { | 1201 if (iSize > 0) { |
| 1206 FXJSE_Value_Set( | 1202 FXJSE_Value_Set( |
| 1207 pValue, | 1203 pValue, |
| 1208 m_pDocument->GetScriptContext()->GetJSValueFromMap(properts[0])); | 1204 m_pDocument->GetScriptContext()->GetJSValueFromMap(properts[0])); |
| 1209 } | 1205 } |
| 1210 } | 1206 } |
| 1211 } | 1207 } |
| 1212 | 1208 |
| 1213 void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {} | 1209 void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {} |
| 1214 void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) { | 1210 void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) { |
| 1215 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); | 1211 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); |
| 1216 FXJSE_Value_SetObject(pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, | 1212 FXJSE_Value_SetObject(pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, |
| 1217 m_pDocument->GetScriptContext()->GetJseNormalClass()); | 1213 m_pDocument->GetScriptContext()->GetJseNormalClass()); |
| 1218 } | 1214 } |
| 1219 void CXFA_Node::Script_ModelClass_ClearErrorList(CFXJSE_Arguments* pArguments) { | 1215 void CXFA_Node::Script_ModelClass_ClearErrorList(CFXJSE_Arguments* pArguments) { |
| 1220 } | 1216 } |
| 1221 void CXFA_Node::Script_ModelClass_CreateNode(CFXJSE_Arguments* pArguments) { | 1217 void CXFA_Node::Script_ModelClass_CreateNode(CFXJSE_Arguments* pArguments) { |
| 1222 Script_Template_CreateNode(pArguments); | 1218 Script_Template_CreateNode(pArguments); |
| 1223 } | 1219 } |
| 1224 void CXFA_Node::Script_ModelClass_IsCompatibleNS(CFXJSE_Arguments* pArguments) { | 1220 void CXFA_Node::Script_ModelClass_IsCompatibleNS(CFXJSE_Arguments* pArguments) { |
| 1225 int32_t iLength = pArguments->GetLength(); | 1221 int32_t iLength = pArguments->GetLength(); |
| 1226 if (iLength < 1) { | 1222 if (iLength < 1) { |
| 1227 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 1223 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isCompatibleNS"); |
| 1228 L"isCompatibleNS"); | |
| 1229 return; | 1224 return; |
| 1230 } | 1225 } |
| 1231 CFX_WideString wsNameSpace; | 1226 CFX_WideString wsNameSpace; |
| 1232 if (iLength >= 1) { | 1227 if (iLength >= 1) { |
| 1233 CFX_ByteString bsNameSpace = pArguments->GetUTF8String(0); | 1228 CFX_ByteString bsNameSpace = pArguments->GetUTF8String(0); |
| 1234 wsNameSpace = CFX_WideString::FromUTF8(bsNameSpace.AsStringC()); | 1229 wsNameSpace = CFX_WideString::FromUTF8(bsNameSpace.AsStringC()); |
| 1235 } | 1230 } |
| 1236 CFX_WideString wsNodeNameSpace; | 1231 CFX_WideString wsNodeNameSpace; |
| 1237 TryNamespace(wsNodeNameSpace); | 1232 TryNamespace(wsNodeNameSpace); |
| 1238 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 1233 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1254 } else { | 1249 } else { |
| 1255 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); | 1250 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); |
| 1256 } | 1251 } |
| 1257 } | 1252 } |
| 1258 void CXFA_Node::Script_Attribute_IntegerRead(CFXJSE_Value* pValue, | 1253 void CXFA_Node::Script_Attribute_IntegerRead(CFXJSE_Value* pValue, |
| 1259 FX_BOOL bSetting, | 1254 FX_BOOL bSetting, |
| 1260 XFA_ATTRIBUTE eAttribute) { | 1255 XFA_ATTRIBUTE eAttribute) { |
| 1261 if (!bSetting) { | 1256 if (!bSetting) { |
| 1262 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); | 1257 FXJSE_Value_SetInteger(pValue, GetInteger(eAttribute)); |
| 1263 } else { | 1258 } else { |
| 1264 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1259 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1265 } | 1260 } |
| 1266 } | 1261 } |
| 1267 void CXFA_Node::Script_Attribute_BOOL(CFXJSE_Value* pValue, | 1262 void CXFA_Node::Script_Attribute_BOOL(CFXJSE_Value* pValue, |
| 1268 FX_BOOL bSetting, | 1263 FX_BOOL bSetting, |
| 1269 XFA_ATTRIBUTE eAttribute) { | 1264 XFA_ATTRIBUTE eAttribute) { |
| 1270 if (bSetting) { | 1265 if (bSetting) { |
| 1271 SetBoolean(eAttribute, FXJSE_Value_ToBoolean(pValue), true); | 1266 SetBoolean(eAttribute, FXJSE_Value_ToBoolean(pValue), true); |
| 1272 } else { | 1267 } else { |
| 1273 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); | 1268 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); |
| 1274 } | 1269 } |
| 1275 } | 1270 } |
| 1276 void CXFA_Node::Script_Attribute_BOOLRead(CFXJSE_Value* pValue, | 1271 void CXFA_Node::Script_Attribute_BOOLRead(CFXJSE_Value* pValue, |
| 1277 FX_BOOL bSetting, | 1272 FX_BOOL bSetting, |
| 1278 XFA_ATTRIBUTE eAttribute) { | 1273 XFA_ATTRIBUTE eAttribute) { |
| 1279 if (!bSetting) { | 1274 if (!bSetting) { |
| 1280 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); | 1275 FXJSE_Value_SetUTF8String(pValue, GetBoolean(eAttribute) ? "1" : "0"); |
| 1281 } else { | 1276 } else { |
| 1282 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1277 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1283 } | 1278 } |
| 1284 } | 1279 } |
| 1285 | 1280 |
| 1286 void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( | 1281 void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( |
| 1287 XFA_ATTRIBUTE eAttribute, | 1282 XFA_ATTRIBUTE eAttribute, |
| 1288 FX_BOOL bScriptModify) { | 1283 FX_BOOL bScriptModify) { |
| 1289 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 1284 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 1290 if (!pLayoutPro) | 1285 if (!pLayoutPro) |
| 1291 return; | 1286 return; |
| 1292 | 1287 |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1506 void CXFA_Node::Script_Attribute_StringRead(CFXJSE_Value* pValue, | 1501 void CXFA_Node::Script_Attribute_StringRead(CFXJSE_Value* pValue, |
| 1507 FX_BOOL bSetting, | 1502 FX_BOOL bSetting, |
| 1508 XFA_ATTRIBUTE eAttribute) { | 1503 XFA_ATTRIBUTE eAttribute) { |
| 1509 if (!bSetting) { | 1504 if (!bSetting) { |
| 1510 CFX_WideString wsValue; | 1505 CFX_WideString wsValue; |
| 1511 GetAttribute(eAttribute, wsValue); | 1506 GetAttribute(eAttribute, wsValue); |
| 1512 FXJSE_Value_SetUTF8String( | 1507 FXJSE_Value_SetUTF8String( |
| 1513 pValue, | 1508 pValue, |
| 1514 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 1509 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 1515 } else { | 1510 } else { |
| 1516 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1511 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1517 } | 1512 } |
| 1518 } | 1513 } |
| 1519 void CXFA_Node::Script_WsdlConnection_Execute(CFXJSE_Arguments* pArguments) { | 1514 void CXFA_Node::Script_WsdlConnection_Execute(CFXJSE_Arguments* pArguments) { |
| 1520 int32_t argc = pArguments->GetLength(); | 1515 int32_t argc = pArguments->GetLength(); |
| 1521 if ((argc == 0) || (argc == 1)) { | 1516 if ((argc == 0) || (argc == 1)) { |
| 1522 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 1517 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 1523 } else { | 1518 } else { |
| 1524 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execute"); | 1519 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execute"); |
| 1525 } | 1520 } |
| 1526 } | 1521 } |
| 1527 void CXFA_Node::Script_Delta_Restore(CFXJSE_Arguments* pArguments) { | 1522 void CXFA_Node::Script_Delta_Restore(CFXJSE_Arguments* pArguments) { |
| 1528 int32_t argc = pArguments->GetLength(); | 1523 int32_t argc = pArguments->GetLength(); |
| 1529 if (argc == 0) { | 1524 if (argc == 0) { |
| 1530 } else { | 1525 } else { |
| 1531 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"restore"); | 1526 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"restore"); |
| 1532 } | 1527 } |
| 1533 } | 1528 } |
| 1534 void CXFA_Node::Script_Delta_CurrentValue(CFXJSE_Value* pValue, | 1529 void CXFA_Node::Script_Delta_CurrentValue(CFXJSE_Value* pValue, |
| 1535 FX_BOOL bSetting, | 1530 FX_BOOL bSetting, |
| 1536 XFA_ATTRIBUTE eAttribute) {} | 1531 XFA_ATTRIBUTE eAttribute) {} |
| 1537 void CXFA_Node::Script_Delta_SavedValue(CFXJSE_Value* pValue, | 1532 void CXFA_Node::Script_Delta_SavedValue(CFXJSE_Value* pValue, |
| 1538 FX_BOOL bSetting, | 1533 FX_BOOL bSetting, |
| 1539 XFA_ATTRIBUTE eAttribute) {} | 1534 XFA_ATTRIBUTE eAttribute) {} |
| 1540 void CXFA_Node::Script_Delta_Target(CFXJSE_Value* pValue, | 1535 void CXFA_Node::Script_Delta_Target(CFXJSE_Value* pValue, |
| 1541 FX_BOOL bSetting, | 1536 FX_BOOL bSetting, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1599 } | 1594 } |
| 1600 void CXFA_Node::Script_Som_ValidationMessage(CFXJSE_Value* pValue, | 1595 void CXFA_Node::Script_Som_ValidationMessage(CFXJSE_Value* pValue, |
| 1601 FX_BOOL bSetting, | 1596 FX_BOOL bSetting, |
| 1602 XFA_ATTRIBUTE eAttribute) { | 1597 XFA_ATTRIBUTE eAttribute) { |
| 1603 Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage); | 1598 Script_Som_Message(pValue, bSetting, XFA_SOM_ValidationMessage); |
| 1604 } | 1599 } |
| 1605 void CXFA_Node::Script_Field_Length(CFXJSE_Value* pValue, | 1600 void CXFA_Node::Script_Field_Length(CFXJSE_Value* pValue, |
| 1606 FX_BOOL bSetting, | 1601 FX_BOOL bSetting, |
| 1607 XFA_ATTRIBUTE eAttribute) { | 1602 XFA_ATTRIBUTE eAttribute) { |
| 1608 if (bSetting) { | 1603 if (bSetting) { |
| 1609 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1604 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1610 } else { | 1605 } else { |
| 1611 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1606 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1612 if (!pWidgetData) { | 1607 if (!pWidgetData) { |
| 1613 FXJSE_Value_SetInteger(pValue, 0); | 1608 FXJSE_Value_SetInteger(pValue, 0); |
| 1614 return; | 1609 return; |
| 1615 } | 1610 } |
| 1616 FXJSE_Value_SetInteger(pValue, pWidgetData->CountChoiceListItems(TRUE)); | 1611 FXJSE_Value_SetInteger(pValue, pWidgetData->CountChoiceListItems(TRUE)); |
| 1617 } | 1612 } |
| 1618 } | 1613 } |
| 1619 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, | 1614 void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue, |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1678 FXJSE_Value_SetUTF8String( | 1673 FXJSE_Value_SetUTF8String( |
| 1679 pValue, | 1674 pValue, |
| 1680 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1675 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1681 } | 1676 } |
| 1682 } | 1677 } |
| 1683 } | 1678 } |
| 1684 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, | 1679 void CXFA_Node::Script_Som_DefaultValue_Read(CFXJSE_Value* pValue, |
| 1685 FX_BOOL bSetting, | 1680 FX_BOOL bSetting, |
| 1686 XFA_ATTRIBUTE eAttribute) { | 1681 XFA_ATTRIBUTE eAttribute) { |
| 1687 if (bSetting) { | 1682 if (bSetting) { |
| 1688 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1683 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1689 return; | 1684 return; |
| 1690 } | 1685 } |
| 1691 CFX_WideString content = GetScriptContent(TRUE); | 1686 CFX_WideString content = GetScriptContent(TRUE); |
| 1692 if (content.IsEmpty()) { | 1687 if (content.IsEmpty()) { |
| 1693 FXJSE_Value_SetNull(pValue); | 1688 FXJSE_Value_SetNull(pValue); |
| 1694 } else { | 1689 } else { |
| 1695 FXJSE_Value_SetUTF8String( | 1690 FXJSE_Value_SetUTF8String( |
| 1696 pValue, | 1691 pValue, |
| 1697 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); | 1692 FX_UTF8Encode(content.c_str(), content.GetLength()).AsStringC()); |
| 1698 } | 1693 } |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1897 if (!bSetting) { | 1892 if (!bSetting) { |
| 1898 CXFA_Node* pDataNode = GetBindData(); | 1893 CXFA_Node* pDataNode = GetBindData(); |
| 1899 if (pDataNode) { | 1894 if (pDataNode) { |
| 1900 FXJSE_Value_Set( | 1895 FXJSE_Value_Set( |
| 1901 pValue, | 1896 pValue, |
| 1902 m_pDocument->GetScriptContext()->GetJSValueFromMap(pDataNode)); | 1897 m_pDocument->GetScriptContext()->GetJSValueFromMap(pDataNode)); |
| 1903 } else { | 1898 } else { |
| 1904 FXJSE_Value_SetNull(pValue); | 1899 FXJSE_Value_SetNull(pValue); |
| 1905 } | 1900 } |
| 1906 } else { | 1901 } else { |
| 1907 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 1902 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 1908 } | 1903 } |
| 1909 } | 1904 } |
| 1910 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, | 1905 void CXFA_Node::Script_Draw_DefaultValue(CFXJSE_Value* pValue, |
| 1911 FX_BOOL bSetting, | 1906 FX_BOOL bSetting, |
| 1912 XFA_ATTRIBUTE eAttribute) { | 1907 XFA_ATTRIBUTE eAttribute) { |
| 1913 if (bSetting) { | 1908 if (bSetting) { |
| 1914 if (FXJSE_Value_IsUTF8String(pValue)) { | 1909 if (FXJSE_Value_IsUTF8String(pValue)) { |
| 1915 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 1910 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 1916 ASSERT(pWidgetData); | 1911 ASSERT(pWidgetData); |
| 1917 XFA_ELEMENT uiType = pWidgetData->GetUIType(); | 1912 XFA_ELEMENT uiType = pWidgetData->GetUIType(); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2102 } | 2097 } |
| 2103 void CXFA_Node::Script_Som_MandatoryMessage(CFXJSE_Value* pValue, | 2098 void CXFA_Node::Script_Som_MandatoryMessage(CFXJSE_Value* pValue, |
| 2104 FX_BOOL bSetting, | 2099 FX_BOOL bSetting, |
| 2105 XFA_ATTRIBUTE eAttribute) { | 2100 XFA_ATTRIBUTE eAttribute) { |
| 2106 Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage); | 2101 Script_Som_Message(pValue, bSetting, XFA_SOM_MandatoryMessage); |
| 2107 } | 2102 } |
| 2108 void CXFA_Node::Script_Field_ParentSubform(CFXJSE_Value* pValue, | 2103 void CXFA_Node::Script_Field_ParentSubform(CFXJSE_Value* pValue, |
| 2109 FX_BOOL bSetting, | 2104 FX_BOOL bSetting, |
| 2110 XFA_ATTRIBUTE eAttribute) { | 2105 XFA_ATTRIBUTE eAttribute) { |
| 2111 if (bSetting) { | 2106 if (bSetting) { |
| 2112 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2107 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 2113 } else { | 2108 } else { |
| 2114 FXJSE_Value_SetNull(pValue); | 2109 FXJSE_Value_SetNull(pValue); |
| 2115 } | 2110 } |
| 2116 } | 2111 } |
| 2117 void CXFA_Node::Script_Field_SelectedIndex(CFXJSE_Value* pValue, | 2112 void CXFA_Node::Script_Field_SelectedIndex(CFXJSE_Value* pValue, |
| 2118 FX_BOOL bSetting, | 2113 FX_BOOL bSetting, |
| 2119 XFA_ATTRIBUTE eAttribute) { | 2114 XFA_ATTRIBUTE eAttribute) { |
| 2120 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2115 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2121 if (!pWidgetData) { | 2116 if (!pWidgetData) { |
| 2122 return; | 2117 return; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2144 if (argc == 1) { | 2139 if (argc == 1) { |
| 2145 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2140 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2146 int32_t iRet = execSingleEventByName( | 2141 int32_t iRet = execSingleEventByName( |
| 2147 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2142 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2148 XFA_ELEMENT_Field); | 2143 XFA_ELEMENT_Field); |
| 2149 if (eventString == "validate") { | 2144 if (eventString == "validate") { |
| 2150 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2145 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2151 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2146 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2152 } | 2147 } |
| 2153 } else { | 2148 } else { |
| 2154 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2149 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2155 } | 2150 } |
| 2156 } | 2151 } |
| 2157 void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2152 void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2158 int32_t argc = pArguments->GetLength(); | 2153 int32_t argc = pArguments->GetLength(); |
| 2159 if (argc == 0) { | 2154 if (argc == 0) { |
| 2160 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2155 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2161 if (!pNotify) { | 2156 if (!pNotify) { |
| 2162 return; | 2157 return; |
| 2163 } | 2158 } |
| 2164 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize, FALSE, FALSE); | 2159 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize, FALSE, FALSE); |
| 2165 } else { | 2160 } else { |
| 2166 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2161 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2167 L"execInitialize"); | |
| 2168 } | 2162 } |
| 2169 } | 2163 } |
| 2170 void CXFA_Node::Script_Field_DeleteItem(CFXJSE_Arguments* pArguments) { | 2164 void CXFA_Node::Script_Field_DeleteItem(CFXJSE_Arguments* pArguments) { |
| 2171 int32_t iLength = pArguments->GetLength(); | 2165 int32_t iLength = pArguments->GetLength(); |
| 2172 if (iLength != 1) { | 2166 if (iLength != 1) { |
| 2173 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"deleteItem"); | 2167 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"deleteItem"); |
| 2174 return; | 2168 return; |
| 2175 } | 2169 } |
| 2176 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2170 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2177 if (!pWidgetData) { | 2171 if (!pWidgetData) { |
| 2178 return; | 2172 return; |
| 2179 } | 2173 } |
| 2180 int32_t iIndex = pArguments->GetInt32(0); | 2174 int32_t iIndex = pArguments->GetInt32(0); |
| 2181 FX_BOOL bValue = pWidgetData->DeleteItem(iIndex, TRUE, TRUE); | 2175 FX_BOOL bValue = pWidgetData->DeleteItem(iIndex, TRUE, TRUE); |
| 2182 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 2176 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2183 if (pValue) { | 2177 if (pValue) { |
| 2184 FXJSE_Value_SetBoolean(pValue, bValue); | 2178 FXJSE_Value_SetBoolean(pValue, bValue); |
| 2185 } | 2179 } |
| 2186 } | 2180 } |
| 2187 void CXFA_Node::Script_Field_GetSaveItem(CFXJSE_Arguments* pArguments) { | 2181 void CXFA_Node::Script_Field_GetSaveItem(CFXJSE_Arguments* pArguments) { |
| 2188 int32_t iLength = pArguments->GetLength(); | 2182 int32_t iLength = pArguments->GetLength(); |
| 2189 if (iLength != 1) { | 2183 if (iLength != 1) { |
| 2190 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getSaveItem"); | 2184 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getSaveItem"); |
| 2191 return; | 2185 return; |
| 2192 } | 2186 } |
| 2193 int32_t iIndex = pArguments->GetInt32(0); | 2187 int32_t iIndex = pArguments->GetInt32(0); |
| 2194 if (iIndex < 0) { | 2188 if (iIndex < 0) { |
| 2195 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2189 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2196 return; | 2190 return; |
| 2197 } | 2191 } |
| 2198 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2192 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2199 if (!pWidgetData) { | 2193 if (!pWidgetData) { |
| 2200 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2194 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2201 return; | 2195 return; |
| 2202 } | 2196 } |
| 2203 CFX_WideString wsValue; | 2197 CFX_WideString wsValue; |
| 2204 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, TRUE); | 2198 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, TRUE); |
| 2205 if (bHasItem) { | 2199 if (bHasItem) { |
| 2206 FXJSE_Value_SetUTF8String( | 2200 FXJSE_Value_SetUTF8String( |
| 2207 pArguments->GetReturnValue(), | 2201 pArguments->GetReturnValue(), |
| 2208 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 2202 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 2209 } else { | 2203 } else { |
| 2210 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2204 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2211 } | 2205 } |
| 2212 } | 2206 } |
| 2213 void CXFA_Node::Script_Field_BoundItem(CFXJSE_Arguments* pArguments) { | 2207 void CXFA_Node::Script_Field_BoundItem(CFXJSE_Arguments* pArguments) { |
| 2214 int32_t iLength = pArguments->GetLength(); | 2208 int32_t iLength = pArguments->GetLength(); |
| 2215 if (iLength != 1) { | 2209 if (iLength != 1) { |
| 2216 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"boundItem"); | 2210 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"boundItem"); |
| 2217 return; | 2211 return; |
| 2218 } | 2212 } |
| 2219 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2213 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2220 if (!pWidgetData) { | 2214 if (!pWidgetData) { |
| 2221 return; | 2215 return; |
| 2222 } | 2216 } |
| 2223 CFX_ByteString bsValue = pArguments->GetUTF8String(0); | 2217 CFX_ByteString bsValue = pArguments->GetUTF8String(0); |
| 2224 CFX_WideString wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); | 2218 CFX_WideString wsValue = CFX_WideString::FromUTF8(bsValue.AsStringC()); |
| 2225 CFX_WideString wsBoundValue; | 2219 CFX_WideString wsBoundValue; |
| 2226 pWidgetData->GetItemValue(wsValue.AsStringC(), wsBoundValue); | 2220 pWidgetData->GetItemValue(wsValue.AsStringC(), wsBoundValue); |
| 2227 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 2221 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2228 if (pValue) { | 2222 if (pValue) { |
| 2229 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsBoundValue).AsStringC()); | 2223 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsBoundValue).AsStringC()); |
| 2230 } | 2224 } |
| 2231 } | 2225 } |
| 2232 void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { | 2226 void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { |
| 2233 int32_t iLength = pArguments->GetLength(); | 2227 int32_t iLength = pArguments->GetLength(); |
| 2234 if (iLength != 1) { | 2228 if (iLength != 1) { |
| 2235 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2229 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getItemState"); |
| 2236 L"getItemState"); | |
| 2237 return; | 2230 return; |
| 2238 } | 2231 } |
| 2239 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2232 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2240 if (!pWidgetData) { | 2233 if (!pWidgetData) { |
| 2241 return; | 2234 return; |
| 2242 } | 2235 } |
| 2243 int32_t iIndex = pArguments->GetInt32(0); | 2236 int32_t iIndex = pArguments->GetInt32(0); |
| 2244 FX_BOOL bValue = pWidgetData->GetItemState(iIndex); | 2237 FX_BOOL bValue = pWidgetData->GetItemState(iIndex); |
| 2245 CFXJSE_Value* pValue = pArguments->GetReturnValue(); | 2238 CFXJSE_Value* pValue = pArguments->GetReturnValue(); |
| 2246 if (pValue) { | 2239 if (pValue) { |
| 2247 FXJSE_Value_SetBoolean(pValue, bValue); | 2240 FXJSE_Value_SetBoolean(pValue, bValue); |
| 2248 } | 2241 } |
| 2249 } | 2242 } |
| 2250 void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2243 void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2251 int32_t argc = pArguments->GetLength(); | 2244 int32_t argc = pArguments->GetLength(); |
| 2252 if (argc == 0) { | 2245 if (argc == 0) { |
| 2253 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2246 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2254 if (!pNotify) { | 2247 if (!pNotify) { |
| 2255 return; | 2248 return; |
| 2256 } | 2249 } |
| 2257 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate, FALSE, FALSE); | 2250 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate, FALSE, FALSE); |
| 2258 } else { | 2251 } else { |
| 2259 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2252 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2260 L"execCalculate"); | |
| 2261 } | 2253 } |
| 2262 } | 2254 } |
| 2263 void CXFA_Node::Script_Field_SetItems(CFXJSE_Arguments* pArguments) {} | 2255 void CXFA_Node::Script_Field_SetItems(CFXJSE_Arguments* pArguments) {} |
| 2264 void CXFA_Node::Script_Field_GetDisplayItem(CFXJSE_Arguments* pArguments) { | 2256 void CXFA_Node::Script_Field_GetDisplayItem(CFXJSE_Arguments* pArguments) { |
| 2265 int32_t iLength = pArguments->GetLength(); | 2257 int32_t iLength = pArguments->GetLength(); |
| 2266 if (iLength != 1) { | 2258 if (iLength != 1) { |
| 2267 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2259 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getDisplayItem"); |
| 2268 L"getDisplayItem"); | |
| 2269 return; | 2260 return; |
| 2270 } | 2261 } |
| 2271 int32_t iIndex = pArguments->GetInt32(0); | 2262 int32_t iIndex = pArguments->GetInt32(0); |
| 2272 if (iIndex < 0) { | 2263 if (iIndex < 0) { |
| 2273 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2264 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2274 return; | 2265 return; |
| 2275 } | 2266 } |
| 2276 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2267 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2277 if (!pWidgetData) { | 2268 if (!pWidgetData) { |
| 2278 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2269 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2279 return; | 2270 return; |
| 2280 } | 2271 } |
| 2281 CFX_WideString wsValue; | 2272 CFX_WideString wsValue; |
| 2282 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, FALSE); | 2273 FX_BOOL bHasItem = pWidgetData->GetChoiceListItem(wsValue, iIndex, FALSE); |
| 2283 if (bHasItem) { | 2274 if (bHasItem) { |
| 2284 FXJSE_Value_SetUTF8String( | 2275 FXJSE_Value_SetUTF8String( |
| 2285 pArguments->GetReturnValue(), | 2276 pArguments->GetReturnValue(), |
| 2286 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); | 2277 FX_UTF8Encode(wsValue.c_str(), wsValue.GetLength()).AsStringC()); |
| 2287 } else { | 2278 } else { |
| 2288 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2279 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2289 } | 2280 } |
| 2290 } | 2281 } |
| 2291 void CXFA_Node::Script_Field_SetItemState(CFXJSE_Arguments* pArguments) { | 2282 void CXFA_Node::Script_Field_SetItemState(CFXJSE_Arguments* pArguments) { |
| 2292 int32_t iLength = pArguments->GetLength(); | 2283 int32_t iLength = pArguments->GetLength(); |
| 2293 if (iLength != 2) { | 2284 if (iLength != 2) { |
| 2294 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2285 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setItemState"); |
| 2295 L"setItemState"); | |
| 2296 return; | 2286 return; |
| 2297 } | 2287 } |
| 2298 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2288 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2299 if (!pWidgetData) | 2289 if (!pWidgetData) |
| 2300 return; | 2290 return; |
| 2301 | 2291 |
| 2302 int32_t iIndex = pArguments->GetInt32(0); | 2292 int32_t iIndex = pArguments->GetInt32(0); |
| 2303 if (pArguments->GetInt32(1) != 0) { | 2293 if (pArguments->GetInt32(1) != 0) { |
| 2304 pWidgetData->SetItemState(iIndex, TRUE, true, TRUE, TRUE); | 2294 pWidgetData->SetItemState(iIndex, TRUE, true, TRUE, TRUE); |
| 2305 } else { | 2295 } else { |
| 2306 if (pWidgetData->GetItemState(iIndex)) | 2296 if (pWidgetData->GetItemState(iIndex)) |
| 2307 pWidgetData->SetItemState(iIndex, FALSE, true, TRUE, TRUE); | 2297 pWidgetData->SetItemState(iIndex, FALSE, true, TRUE, TRUE); |
| 2308 } | 2298 } |
| 2309 } | 2299 } |
| 2310 void CXFA_Node::Script_Field_AddItem(CFXJSE_Arguments* pArguments) { | 2300 void CXFA_Node::Script_Field_AddItem(CFXJSE_Arguments* pArguments) { |
| 2311 int32_t iLength = pArguments->GetLength(); | 2301 int32_t iLength = pArguments->GetLength(); |
| 2312 if (iLength < 1 || iLength > 2) { | 2302 if (iLength < 1 || iLength > 2) { |
| 2313 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addItem"); | 2303 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addItem"); |
| 2314 return; | 2304 return; |
| 2315 } | 2305 } |
| 2316 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2306 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2317 if (!pWidgetData) { | 2307 if (!pWidgetData) { |
| 2318 return; | 2308 return; |
| 2319 } | 2309 } |
| 2320 CFX_WideString wsLabel; | 2310 CFX_WideString wsLabel; |
| 2321 CFX_WideString wsValue; | 2311 CFX_WideString wsValue; |
| 2322 if (iLength >= 1) { | 2312 if (iLength >= 1) { |
| 2323 CFX_ByteString bsLabel = pArguments->GetUTF8String(0); | 2313 CFX_ByteString bsLabel = pArguments->GetUTF8String(0); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 2335 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2325 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2336 if (!pNotify) { | 2326 if (!pNotify) { |
| 2337 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2327 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2338 } else { | 2328 } else { |
| 2339 int32_t iRet = | 2329 int32_t iRet = |
| 2340 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate, FALSE, FALSE); | 2330 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate, FALSE, FALSE); |
| 2341 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2331 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2342 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2332 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2343 } | 2333 } |
| 2344 } else { | 2334 } else { |
| 2345 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2335 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2346 L"execValidate"); | |
| 2347 } | 2336 } |
| 2348 } | 2337 } |
| 2349 void CXFA_Node::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, | 2338 void CXFA_Node::Script_ExclGroup_ErrorText(CFXJSE_Value* pValue, |
| 2350 FX_BOOL bSetting, | 2339 FX_BOOL bSetting, |
| 2351 XFA_ATTRIBUTE eAttribute) { | 2340 XFA_ATTRIBUTE eAttribute) { |
| 2352 if (!bSetting) { | 2341 if (!bSetting) { |
| 2353 } else { | 2342 } else { |
| 2354 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2343 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 2355 } | 2344 } |
| 2356 } | 2345 } |
| 2357 void CXFA_Node::Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, | 2346 void CXFA_Node::Script_ExclGroup_DefaultAndRawValue(CFXJSE_Value* pValue, |
| 2358 FX_BOOL bSetting, | 2347 FX_BOOL bSetting, |
| 2359 XFA_ATTRIBUTE eAttribute) { | 2348 XFA_ATTRIBUTE eAttribute) { |
| 2360 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2349 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2361 if (!pWidgetData) { | 2350 if (!pWidgetData) { |
| 2362 return; | 2351 return; |
| 2363 } | 2352 } |
| 2364 if (bSetting) { | 2353 if (bSetting) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2381 FX_BOOL bSetting, | 2370 FX_BOOL bSetting, |
| 2382 XFA_ATTRIBUTE eAttribute) {} | 2371 XFA_ATTRIBUTE eAttribute) {} |
| 2383 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { | 2372 void CXFA_Node::Script_ExclGroup_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2384 int32_t argc = pArguments->GetLength(); | 2373 int32_t argc = pArguments->GetLength(); |
| 2385 if (argc == 1) { | 2374 if (argc == 1) { |
| 2386 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2375 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2387 execSingleEventByName( | 2376 execSingleEventByName( |
| 2388 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2377 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2389 XFA_ELEMENT_ExclGroup); | 2378 XFA_ELEMENT_ExclGroup); |
| 2390 } else { | 2379 } else { |
| 2391 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2380 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2392 } | 2381 } |
| 2393 } | 2382 } |
| 2394 | 2383 |
| 2395 void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { | 2384 void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { |
| 2396 int32_t argc = pArguments->GetLength(); | 2385 int32_t argc = pArguments->GetLength(); |
| 2397 if (argc < 0 || argc > 1) { | 2386 if (argc < 0 || argc > 1) { |
| 2398 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2387 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"selectedMember"); |
| 2399 L"selectedMember"); | |
| 2400 return; | 2388 return; |
| 2401 } | 2389 } |
| 2402 | 2390 |
| 2403 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2391 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2404 if (!pWidgetData) { | 2392 if (!pWidgetData) { |
| 2405 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 2393 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 2406 return; | 2394 return; |
| 2407 } | 2395 } |
| 2408 | 2396 |
| 2409 CXFA_Node* pReturnNode = nullptr; | 2397 CXFA_Node* pReturnNode = nullptr; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2426 | 2414 |
| 2427 void CXFA_Node::Script_ExclGroup_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2415 void CXFA_Node::Script_ExclGroup_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2428 int32_t argc = pArguments->GetLength(); | 2416 int32_t argc = pArguments->GetLength(); |
| 2429 if (argc == 0) { | 2417 if (argc == 0) { |
| 2430 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2418 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2431 if (!pNotify) { | 2419 if (!pNotify) { |
| 2432 return; | 2420 return; |
| 2433 } | 2421 } |
| 2434 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); | 2422 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); |
| 2435 } else { | 2423 } else { |
| 2436 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2424 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2437 L"execInitialize"); | |
| 2438 } | 2425 } |
| 2439 } | 2426 } |
| 2440 void CXFA_Node::Script_ExclGroup_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2427 void CXFA_Node::Script_ExclGroup_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2441 int32_t argc = pArguments->GetLength(); | 2428 int32_t argc = pArguments->GetLength(); |
| 2442 if (argc == 0) { | 2429 if (argc == 0) { |
| 2443 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2430 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2444 if (!pNotify) { | 2431 if (!pNotify) { |
| 2445 return; | 2432 return; |
| 2446 } | 2433 } |
| 2447 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 2434 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 2448 } else { | 2435 } else { |
| 2449 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2436 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2450 L"execCalculate"); | |
| 2451 } | 2437 } |
| 2452 } | 2438 } |
| 2453 void CXFA_Node::Script_ExclGroup_ExecValidate(CFXJSE_Arguments* pArguments) { | 2439 void CXFA_Node::Script_ExclGroup_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 2454 int32_t argc = pArguments->GetLength(); | 2440 int32_t argc = pArguments->GetLength(); |
| 2455 if (argc == 0) { | 2441 if (argc == 0) { |
| 2456 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2442 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2457 if (!pNotify) { | 2443 if (!pNotify) { |
| 2458 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2444 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2459 } else { | 2445 } else { |
| 2460 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 2446 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 2461 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2447 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2462 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2448 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2463 } | 2449 } |
| 2464 } else { | 2450 } else { |
| 2465 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2451 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2466 L"execValidate"); | |
| 2467 } | 2452 } |
| 2468 } | 2453 } |
| 2469 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, | 2454 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, |
| 2470 int32_t iIndex) { | 2455 int32_t iIndex) { |
| 2471 ASSERT(pInstMgrNode); | 2456 ASSERT(pInstMgrNode); |
| 2472 int32_t iCount = 0; | 2457 int32_t iCount = 0; |
| 2473 uint32_t dwNameHash = 0; | 2458 uint32_t dwNameHash = 0; |
| 2474 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2459 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| 2475 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { | 2460 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { |
| 2476 XFA_ELEMENT eCurType = pNode->GetClassID(); | 2461 XFA_ELEMENT eCurType = pNode->GetClassID(); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2553 } | 2538 } |
| 2554 } | 2539 } |
| 2555 if (pInstanceMgr) { | 2540 if (pInstanceMgr) { |
| 2556 FXJSE_Value_Set( | 2541 FXJSE_Value_Set( |
| 2557 pValue, | 2542 pValue, |
| 2558 m_pDocument->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); | 2543 m_pDocument->GetScriptContext()->GetJSValueFromMap(pInstanceMgr)); |
| 2559 } else { | 2544 } else { |
| 2560 FXJSE_Value_SetNull(pValue); | 2545 FXJSE_Value_SetNull(pValue); |
| 2561 } | 2546 } |
| 2562 } else { | 2547 } else { |
| 2563 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2548 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 2564 } | 2549 } |
| 2565 } | 2550 } |
| 2566 void CXFA_Node::Script_Subform_Locale(CFXJSE_Value* pValue, | 2551 void CXFA_Node::Script_Subform_Locale(CFXJSE_Value* pValue, |
| 2567 FX_BOOL bSetting, | 2552 FX_BOOL bSetting, |
| 2568 XFA_ATTRIBUTE eAttribute) { | 2553 XFA_ATTRIBUTE eAttribute) { |
| 2569 if (bSetting) { | 2554 if (bSetting) { |
| 2570 CFX_ByteString bsLocaleName; | 2555 CFX_ByteString bsLocaleName; |
| 2571 FXJSE_Value_ToUTF8String(pValue, bsLocaleName); | 2556 FXJSE_Value_ToUTF8String(pValue, bsLocaleName); |
| 2572 SetCData(XFA_ATTRIBUTE_Locale, | 2557 SetCData(XFA_ATTRIBUTE_Locale, |
| 2573 CFX_WideString::FromUTF8(bsLocaleName.AsStringC()), true, TRUE); | 2558 CFX_WideString::FromUTF8(bsLocaleName.AsStringC()), true, TRUE); |
| 2574 } else { | 2559 } else { |
| 2575 CFX_WideString wsLocaleName; | 2560 CFX_WideString wsLocaleName; |
| 2576 GetLocaleName(wsLocaleName); | 2561 GetLocaleName(wsLocaleName); |
| 2577 FXJSE_Value_SetUTF8String( | 2562 FXJSE_Value_SetUTF8String( |
| 2578 pValue, FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) | 2563 pValue, FX_UTF8Encode(wsLocaleName.c_str(), wsLocaleName.GetLength()) |
| 2579 .AsStringC()); | 2564 .AsStringC()); |
| 2580 } | 2565 } |
| 2581 } | 2566 } |
| 2582 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { | 2567 void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { |
| 2583 int32_t argc = pArguments->GetLength(); | 2568 int32_t argc = pArguments->GetLength(); |
| 2584 if (argc == 1) { | 2569 if (argc == 1) { |
| 2585 CFX_ByteString eventString = pArguments->GetUTF8String(0); | 2570 CFX_ByteString eventString = pArguments->GetUTF8String(0); |
| 2586 execSingleEventByName( | 2571 execSingleEventByName( |
| 2587 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), | 2572 CFX_WideString::FromUTF8(eventString.AsStringC()).AsStringC(), |
| 2588 XFA_ELEMENT_Subform); | 2573 XFA_ELEMENT_Subform); |
| 2589 } else { | 2574 } else { |
| 2590 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); | 2575 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execEvent"); |
| 2591 } | 2576 } |
| 2592 } | 2577 } |
| 2593 void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2578 void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2594 int32_t argc = pArguments->GetLength(); | 2579 int32_t argc = pArguments->GetLength(); |
| 2595 if (argc == 0) { | 2580 if (argc == 0) { |
| 2596 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2581 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2597 if (!pNotify) { | 2582 if (!pNotify) { |
| 2598 return; | 2583 return; |
| 2599 } | 2584 } |
| 2600 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); | 2585 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); |
| 2601 } else { | 2586 } else { |
| 2602 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2587 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2603 L"execInitialize"); | |
| 2604 } | 2588 } |
| 2605 } | 2589 } |
| 2606 void CXFA_Node::Script_Subform_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2590 void CXFA_Node::Script_Subform_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2607 int32_t argc = pArguments->GetLength(); | 2591 int32_t argc = pArguments->GetLength(); |
| 2608 if (argc == 0) { | 2592 if (argc == 0) { |
| 2609 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2593 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2610 if (!pNotify) { | 2594 if (!pNotify) { |
| 2611 return; | 2595 return; |
| 2612 } | 2596 } |
| 2613 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 2597 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 2614 } else { | 2598 } else { |
| 2615 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2599 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2616 L"execCalculate"); | |
| 2617 } | 2600 } |
| 2618 } | 2601 } |
| 2619 void CXFA_Node::Script_Subform_ExecValidate(CFXJSE_Arguments* pArguments) { | 2602 void CXFA_Node::Script_Subform_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 2620 int32_t argc = pArguments->GetLength(); | 2603 int32_t argc = pArguments->GetLength(); |
| 2621 if (argc == 0) { | 2604 if (argc == 0) { |
| 2622 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 2605 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 2623 if (!pNotify) { | 2606 if (!pNotify) { |
| 2624 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2607 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2625 } else { | 2608 } else { |
| 2626 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 2609 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 2627 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 2610 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 2628 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 2611 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 2629 } | 2612 } |
| 2630 } else { | 2613 } else { |
| 2631 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2614 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2632 L"execValidate"); | |
| 2633 } | 2615 } |
| 2634 } | 2616 } |
| 2635 void CXFA_Node::Script_Subform_GetInvalidObjects(CFXJSE_Arguments* pArguments) { | 2617 void CXFA_Node::Script_Subform_GetInvalidObjects(CFXJSE_Arguments* pArguments) { |
| 2636 int32_t argc = pArguments->GetLength(); | 2618 int32_t argc = pArguments->GetLength(); |
| 2637 if (argc == 0) { | 2619 if (argc == 0) { |
| 2638 } else { | 2620 } else { |
| 2639 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2621 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getInvalidObjects"); |
| 2640 L"getInvalidObjects"); | |
| 2641 } | 2622 } |
| 2642 } | 2623 } |
| 2643 int32_t CXFA_Node::Subform_and_SubformSet_InstanceIndex() { | 2624 int32_t CXFA_Node::Subform_and_SubformSet_InstanceIndex() { |
| 2644 int32_t index = 0; | 2625 int32_t index = 0; |
| 2645 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; | 2626 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode; |
| 2646 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { | 2627 pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) { |
| 2647 if ((pNode->GetClassID() == XFA_ELEMENT_Subform) || | 2628 if ((pNode->GetClassID() == XFA_ELEMENT_Subform) || |
| 2648 (pNode->GetClassID() == XFA_ELEMENT_SubformSet)) { | 2629 (pNode->GetClassID() == XFA_ELEMENT_SubformSet)) { |
| 2649 index++; | 2630 index++; |
| 2650 } else { | 2631 } else { |
| 2651 break; | 2632 break; |
| 2652 } | 2633 } |
| 2653 } | 2634 } |
| 2654 return index; | 2635 return index; |
| 2655 } | 2636 } |
| 2656 void CXFA_Node::Script_Template_FormNodes(CFXJSE_Arguments* pArguments) { | 2637 void CXFA_Node::Script_Template_FormNodes(CFXJSE_Arguments* pArguments) { |
| 2657 int32_t argc = pArguments->GetLength(); | 2638 int32_t argc = pArguments->GetLength(); |
| 2658 if (argc == 1) { | 2639 if (argc == 1) { |
| 2659 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2640 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2660 } else { | 2641 } else { |
| 2661 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); | 2642 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); |
| 2662 } | 2643 } |
| 2663 } | 2644 } |
| 2664 void CXFA_Node::Script_Template_Remerge(CFXJSE_Arguments* pArguments) { | 2645 void CXFA_Node::Script_Template_Remerge(CFXJSE_Arguments* pArguments) { |
| 2665 int32_t argc = pArguments->GetLength(); | 2646 int32_t argc = pArguments->GetLength(); |
| 2666 if (argc == 0) { | 2647 if (argc == 0) { |
| 2667 m_pDocument->DoDataRemerge(TRUE); | 2648 m_pDocument->DoDataRemerge(TRUE); |
| 2668 } else { | 2649 } else { |
| 2669 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); | 2650 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); |
| 2670 } | 2651 } |
| 2671 } | 2652 } |
| 2672 void CXFA_Node::Script_Template_ExecInitialize(CFXJSE_Arguments* pArguments) { | 2653 void CXFA_Node::Script_Template_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 2673 int32_t argc = pArguments->GetLength(); | 2654 int32_t argc = pArguments->GetLength(); |
| 2674 if (argc == 0) { | 2655 if (argc == 0) { |
| 2675 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2656 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2676 if (!pWidgetData) { | 2657 if (!pWidgetData) { |
| 2677 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2658 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2678 } else { | 2659 } else { |
| 2679 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2660 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2680 } | 2661 } |
| 2681 } else { | 2662 } else { |
| 2682 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2663 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 2683 L"execInitialize"); | |
| 2684 } | 2664 } |
| 2685 } | 2665 } |
| 2686 void CXFA_Node::Script_Template_CreateNode(CFXJSE_Arguments* pArguments) { | 2666 void CXFA_Node::Script_Template_CreateNode(CFXJSE_Arguments* pArguments) { |
| 2687 int32_t argc = pArguments->GetLength(); | 2667 int32_t argc = pArguments->GetLength(); |
| 2688 if ((argc > 0) && (argc < 4)) { | 2668 if ((argc > 0) && (argc < 4)) { |
| 2689 CFX_WideString strTagName; | 2669 CFX_WideString strTagName; |
| 2690 CFX_WideString strName; | 2670 CFX_WideString strName; |
| 2691 CFX_WideString strNameSpace; | 2671 CFX_WideString strNameSpace; |
| 2692 CFX_ByteString bsTagName = pArguments->GetUTF8String(0); | 2672 CFX_ByteString bsTagName = pArguments->GetUTF8String(0); |
| 2693 strTagName = CFX_WideString::FromUTF8(bsTagName.AsStringC()); | 2673 strTagName = CFX_WideString::FromUTF8(bsTagName.AsStringC()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 2709 if (XFA_GetAttributeOfElement(pElement->eName, XFA_ATTRIBUTE_Name, | 2689 if (XFA_GetAttributeOfElement(pElement->eName, XFA_ATTRIBUTE_Name, |
| 2710 XFA_XDPPACKET_UNKNOWN)) { | 2690 XFA_XDPPACKET_UNKNOWN)) { |
| 2711 pNewNode->SetAttribute(XFA_ATTRIBUTE_Name, strName.AsStringC(), true); | 2691 pNewNode->SetAttribute(XFA_ATTRIBUTE_Name, strName.AsStringC(), true); |
| 2712 if (pNewNode->GetPacketID() == XFA_XDPPACKET_Datasets) { | 2692 if (pNewNode->GetPacketID() == XFA_XDPPACKET_Datasets) { |
| 2713 pNewNode->CreateXMLMappingNode(); | 2693 pNewNode->CreateXMLMappingNode(); |
| 2714 } | 2694 } |
| 2715 FXJSE_Value_Set( | 2695 FXJSE_Value_Set( |
| 2716 pArguments->GetReturnValue(), | 2696 pArguments->GetReturnValue(), |
| 2717 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); | 2697 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); |
| 2718 } else { | 2698 } else { |
| 2719 ThrowScriptErrorMessage(XFA_IDS_NOT_HAVE_PROPERTY, strTagName.c_str(), | 2699 ThrowException(XFA_IDS_NOT_HAVE_PROPERTY, strTagName.c_str(), |
| 2720 L"name"); | 2700 L"name"); |
| 2721 } | 2701 } |
| 2722 } else { | 2702 } else { |
| 2723 FXJSE_Value_Set( | 2703 FXJSE_Value_Set( |
| 2724 pArguments->GetReturnValue(), | 2704 pArguments->GetReturnValue(), |
| 2725 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); | 2705 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewNode)); |
| 2726 } | 2706 } |
| 2727 } | 2707 } |
| 2728 } else { | 2708 } else { |
| 2729 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"createNode"); | 2709 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"createNode"); |
| 2730 } | 2710 } |
| 2731 } | 2711 } |
| 2732 void CXFA_Node::Script_Template_Recalculate(CFXJSE_Arguments* pArguments) { | 2712 void CXFA_Node::Script_Template_Recalculate(CFXJSE_Arguments* pArguments) { |
| 2733 if (pArguments->GetLength() == 1) { | 2713 if (pArguments->GetLength() == 1) { |
| 2734 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2714 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2735 } else { | 2715 } else { |
| 2736 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); | 2716 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); |
| 2737 } | 2717 } |
| 2738 } | 2718 } |
| 2739 void CXFA_Node::Script_Template_ExecCalculate(CFXJSE_Arguments* pArguments) { | 2719 void CXFA_Node::Script_Template_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 2740 int32_t argc = pArguments->GetLength(); | 2720 int32_t argc = pArguments->GetLength(); |
| 2741 if (argc == 0) { | 2721 if (argc == 0) { |
| 2742 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2722 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2743 if (!pWidgetData) { | 2723 if (!pWidgetData) { |
| 2744 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2724 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2745 } else { | 2725 } else { |
| 2746 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2726 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2747 } | 2727 } |
| 2748 } else { | 2728 } else { |
| 2749 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2729 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 2750 L"execCalculate"); | |
| 2751 } | 2730 } |
| 2752 } | 2731 } |
| 2753 void CXFA_Node::Script_Template_ExecValidate(CFXJSE_Arguments* pArguments) { | 2732 void CXFA_Node::Script_Template_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 2754 int32_t argc = pArguments->GetLength(); | 2733 int32_t argc = pArguments->GetLength(); |
| 2755 if (argc == 0) { | 2734 if (argc == 0) { |
| 2756 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2735 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2757 if (!pWidgetData) { | 2736 if (!pWidgetData) { |
| 2758 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2737 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2759 } else { | 2738 } else { |
| 2760 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2739 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2761 } | 2740 } |
| 2762 } else { | 2741 } else { |
| 2763 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 2742 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 2764 L"execValidate"); | |
| 2765 } | 2743 } |
| 2766 } | 2744 } |
| 2767 void CXFA_Node::Script_Manifest_Evaluate(CFXJSE_Arguments* pArguments) { | 2745 void CXFA_Node::Script_Manifest_Evaluate(CFXJSE_Arguments* pArguments) { |
| 2768 int32_t argc = pArguments->GetLength(); | 2746 int32_t argc = pArguments->GetLength(); |
| 2769 if (argc == 0) { | 2747 if (argc == 0) { |
| 2770 CXFA_WidgetData* pWidgetData = GetWidgetData(); | 2748 CXFA_WidgetData* pWidgetData = GetWidgetData(); |
| 2771 if (!pWidgetData) { | 2749 if (!pWidgetData) { |
| 2772 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 2750 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 2773 } else { | 2751 } else { |
| 2774 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); | 2752 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), TRUE); |
| 2775 } | 2753 } |
| 2776 } else { | 2754 } else { |
| 2777 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"evaluate"); | 2755 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"evaluate"); |
| 2778 } | 2756 } |
| 2779 } | 2757 } |
| 2780 void CXFA_Node::Script_InstanceManager_Max(CFXJSE_Value* pValue, | 2758 void CXFA_Node::Script_InstanceManager_Max(CFXJSE_Value* pValue, |
| 2781 FX_BOOL bSetting, | 2759 FX_BOOL bSetting, |
| 2782 XFA_ATTRIBUTE eAttribute) { | 2760 XFA_ATTRIBUTE eAttribute) { |
| 2783 if (bSetting) { | 2761 if (bSetting) { |
| 2784 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2762 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 2785 return; | 2763 return; |
| 2786 } | 2764 } |
| 2787 CXFA_Occur nodeOccur(GetOccurNode()); | 2765 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2788 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMax()); | 2766 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMax()); |
| 2789 } | 2767 } |
| 2790 void CXFA_Node::Script_InstanceManager_Min(CFXJSE_Value* pValue, | 2768 void CXFA_Node::Script_InstanceManager_Min(CFXJSE_Value* pValue, |
| 2791 FX_BOOL bSetting, | 2769 FX_BOOL bSetting, |
| 2792 XFA_ATTRIBUTE eAttribute) { | 2770 XFA_ATTRIBUTE eAttribute) { |
| 2793 if (bSetting) { | 2771 if (bSetting) { |
| 2794 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 2772 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 2795 return; | 2773 return; |
| 2796 } | 2774 } |
| 2797 CXFA_Occur nodeOccur(GetOccurNode()); | 2775 CXFA_Occur nodeOccur(GetOccurNode()); |
| 2798 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMin()); | 2776 FXJSE_Value_SetInteger(pValue, nodeOccur.GetMin()); |
| 2799 } | 2777 } |
| 2800 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { | 2778 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { |
| 2801 ASSERT(pInstMgrNode); | 2779 ASSERT(pInstMgrNode); |
| 2802 int32_t iCount = 0; | 2780 int32_t iCount = 0; |
| 2803 uint32_t dwNameHash = 0; | 2781 uint32_t dwNameHash = 0; |
| 2804 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); | 2782 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3106 void CXFA_Node::Script_InstanceManager_RemoveInstance( | 3084 void CXFA_Node::Script_InstanceManager_RemoveInstance( |
| 3107 CFXJSE_Arguments* pArguments) { | 3085 CFXJSE_Arguments* pArguments) { |
| 3108 int32_t argc = pArguments->GetLength(); | 3086 int32_t argc = pArguments->GetLength(); |
| 3109 if (argc != 1) { | 3087 if (argc != 1) { |
| 3110 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); | 3088 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); |
| 3111 return; | 3089 return; |
| 3112 } | 3090 } |
| 3113 int32_t iIndex = pArguments->GetInt32(0); | 3091 int32_t iIndex = pArguments->GetInt32(0); |
| 3114 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3092 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3115 if (iIndex < 0 || iIndex >= iCount) { | 3093 if (iIndex < 0 || iIndex >= iCount) { |
| 3116 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3094 ThrowException(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3117 return; | 3095 return; |
| 3118 } | 3096 } |
| 3119 CXFA_Occur nodeOccur(GetOccurNode()); | 3097 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3120 int32_t iMin = nodeOccur.GetMin(); | 3098 int32_t iMin = nodeOccur.GetMin(); |
| 3121 if (iCount - 1 < iMin) { | 3099 if (iCount - 1 < iMin) { |
| 3122 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"min"); | 3100 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"min"); |
| 3123 return; | 3101 return; |
| 3124 } | 3102 } |
| 3125 CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); | 3103 CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); |
| 3126 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); | 3104 XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); |
| 3127 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3105 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3128 if (pNotify) { | 3106 if (pNotify) { |
| 3129 for (int32_t i = iIndex; i < iCount - 1; i++) { | 3107 for (int32_t i = iIndex; i < iCount - 1; i++) { |
| 3130 CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); | 3108 CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); |
| 3131 if (pSubformInstance && | 3109 if (pSubformInstance && |
| 3132 pSubformInstance->GetClassID() == XFA_ELEMENT_Subform) { | 3110 pSubformInstance->GetClassID() == XFA_ELEMENT_Subform) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 3148 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); | 3126 FXJSE_Value_SetUndefined(pArguments->GetReturnValue()); |
| 3149 return; | 3127 return; |
| 3150 } | 3128 } |
| 3151 int32_t iDesired = pArguments->GetInt32(0); | 3129 int32_t iDesired = pArguments->GetInt32(0); |
| 3152 InstanceManager_SetInstances(iDesired); | 3130 InstanceManager_SetInstances(iDesired); |
| 3153 } | 3131 } |
| 3154 void CXFA_Node::Script_InstanceManager_AddInstance( | 3132 void CXFA_Node::Script_InstanceManager_AddInstance( |
| 3155 CFXJSE_Arguments* pArguments) { | 3133 CFXJSE_Arguments* pArguments) { |
| 3156 int32_t argc = pArguments->GetLength(); | 3134 int32_t argc = pArguments->GetLength(); |
| 3157 if ((argc != 0) && (argc != 1)) { | 3135 if ((argc != 0) && (argc != 1)) { |
| 3158 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addInstance"); | 3136 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addInstance"); |
| 3159 return; | 3137 return; |
| 3160 } | 3138 } |
| 3161 FX_BOOL fFlags = TRUE; | 3139 FX_BOOL fFlags = TRUE; |
| 3162 if (argc == 1) { | 3140 if (argc == 1) { |
| 3163 fFlags = pArguments->GetInt32(0) == 0 ? FALSE : TRUE; | 3141 fFlags = pArguments->GetInt32(0) == 0 ? FALSE : TRUE; |
| 3164 } | 3142 } |
| 3165 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3143 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3166 CXFA_Occur nodeOccur(GetOccurNode()); | 3144 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3167 int32_t iMax = nodeOccur.GetMax(); | 3145 int32_t iMax = nodeOccur.GetMax(); |
| 3168 if (iMax >= 0 && iCount >= iMax) { | 3146 if (iMax >= 0 && iCount >= iMax) { |
| 3169 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"max"); | 3147 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"max"); |
| 3170 return; | 3148 return; |
| 3171 } | 3149 } |
| 3172 CXFA_Node* pNewInstance = | 3150 CXFA_Node* pNewInstance = |
| 3173 XFA_ScriptInstanceManager_CreateInstance(this, fFlags); | 3151 XFA_ScriptInstanceManager_CreateInstance(this, fFlags); |
| 3174 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iCount, iCount, | 3152 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iCount, iCount, |
| 3175 FALSE); | 3153 FALSE); |
| 3176 FXJSE_Value_Set( | 3154 FXJSE_Value_Set( |
| 3177 pArguments->GetReturnValue(), | 3155 pArguments->GetReturnValue(), |
| 3178 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); | 3156 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); |
| 3179 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3157 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3180 if (!pNotify) { | 3158 if (!pNotify) { |
| 3181 return; | 3159 return; |
| 3182 } | 3160 } |
| 3183 pNotify->RunNodeInitialize(pNewInstance); | 3161 pNotify->RunNodeInitialize(pNewInstance); |
| 3184 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3162 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3185 if (!pLayoutPro) { | 3163 if (!pLayoutPro) { |
| 3186 return; | 3164 return; |
| 3187 } | 3165 } |
| 3188 pLayoutPro->AddChangedContainer( | 3166 pLayoutPro->AddChangedContainer( |
| 3189 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3167 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3190 } | 3168 } |
| 3191 void CXFA_Node::Script_InstanceManager_InsertInstance( | 3169 void CXFA_Node::Script_InstanceManager_InsertInstance( |
| 3192 CFXJSE_Arguments* pArguments) { | 3170 CFXJSE_Arguments* pArguments) { |
| 3193 int32_t argc = pArguments->GetLength(); | 3171 int32_t argc = pArguments->GetLength(); |
| 3194 if ((argc != 1) && (argc != 2)) { | 3172 if ((argc != 1) && (argc != 2)) { |
| 3195 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3173 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"insertInstance"); |
| 3196 L"insertInstance"); | |
| 3197 return; | 3174 return; |
| 3198 } | 3175 } |
| 3199 int32_t iIndex = pArguments->GetInt32(0); | 3176 int32_t iIndex = pArguments->GetInt32(0); |
| 3200 FX_BOOL bBind = FALSE; | 3177 FX_BOOL bBind = FALSE; |
| 3201 if (argc == 2) { | 3178 if (argc == 2) { |
| 3202 bBind = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; | 3179 bBind = pArguments->GetInt32(1) == 0 ? FALSE : TRUE; |
| 3203 } | 3180 } |
| 3204 CXFA_Occur nodeOccur(GetOccurNode()); | 3181 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3205 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3182 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3206 if (iIndex < 0 || iIndex > iCount) { | 3183 if (iIndex < 0 || iIndex > iCount) { |
| 3207 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3184 ThrowException(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3208 return; | 3185 return; |
| 3209 } | 3186 } |
| 3210 int32_t iMax = nodeOccur.GetMax(); | 3187 int32_t iMax = nodeOccur.GetMax(); |
| 3211 if (iMax >= 0 && iCount >= iMax) { | 3188 if (iMax >= 0 && iCount >= iMax) { |
| 3212 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"max"); | 3189 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"max"); |
| 3213 return; | 3190 return; |
| 3214 } | 3191 } |
| 3215 CXFA_Node* pNewInstance = | 3192 CXFA_Node* pNewInstance = |
| 3216 XFA_ScriptInstanceManager_CreateInstance(this, bBind); | 3193 XFA_ScriptInstanceManager_CreateInstance(this, bBind); |
| 3217 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iIndex, iCount, | 3194 XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iIndex, iCount, |
| 3218 TRUE); | 3195 TRUE); |
| 3219 FXJSE_Value_Set( | 3196 FXJSE_Value_Set( |
| 3220 pArguments->GetReturnValue(), | 3197 pArguments->GetReturnValue(), |
| 3221 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); | 3198 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); |
| 3222 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3199 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3223 if (!pNotify) { | 3200 if (!pNotify) { |
| 3224 return; | 3201 return; |
| 3225 } | 3202 } |
| 3226 pNotify->RunNodeInitialize(pNewInstance); | 3203 pNotify->RunNodeInitialize(pNewInstance); |
| 3227 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3204 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3228 if (!pLayoutPro) { | 3205 if (!pLayoutPro) { |
| 3229 return; | 3206 return; |
| 3230 } | 3207 } |
| 3231 pLayoutPro->AddChangedContainer( | 3208 pLayoutPro->AddChangedContainer( |
| 3232 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3209 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3233 } | 3210 } |
| 3234 int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) { | 3211 int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) { |
| 3235 CXFA_Occur nodeOccur(GetOccurNode()); | 3212 CXFA_Occur nodeOccur(GetOccurNode()); |
| 3236 int32_t iMax = nodeOccur.GetMax(); | 3213 int32_t iMax = nodeOccur.GetMax(); |
| 3237 int32_t iMin = nodeOccur.GetMin(); | 3214 int32_t iMin = nodeOccur.GetMin(); |
| 3238 if (iDesired < iMin) { | 3215 if (iDesired < iMin) { |
| 3239 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"min"); | 3216 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"min"); |
| 3240 return 1; | 3217 return 1; |
| 3241 } | 3218 } |
| 3242 if ((iMax >= 0) && (iDesired > iMax)) { | 3219 if ((iMax >= 0) && (iDesired > iMax)) { |
| 3243 ThrowScriptErrorMessage(XFA_IDS_VIOLATE_BOUNDARY, L"max"); | 3220 ThrowException(XFA_IDS_VIOLATE_BOUNDARY, L"max"); |
| 3244 return 2; | 3221 return 2; |
| 3245 } | 3222 } |
| 3246 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3223 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3247 if (iDesired == iCount) { | 3224 if (iDesired == iCount) { |
| 3248 return 0; | 3225 return 0; |
| 3249 } | 3226 } |
| 3250 if (iDesired < iCount) { | 3227 if (iDesired < iCount) { |
| 3251 CFX_WideStringC wsInstManagerName = GetCData(XFA_ATTRIBUTE_Name); | 3228 CFX_WideStringC wsInstManagerName = GetCData(XFA_ATTRIBUTE_Name); |
| 3252 CFX_WideString wsInstanceName = | 3229 CFX_WideString wsInstanceName = |
| 3253 CFX_WideString(wsInstManagerName.IsEmpty() ? wsInstManagerName | 3230 CFX_WideString(wsInstManagerName.IsEmpty() ? wsInstManagerName |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3290 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3267 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| 3291 if (pLayoutPro) { | 3268 if (pLayoutPro) { |
| 3292 pLayoutPro->AddChangedContainer( | 3269 pLayoutPro->AddChangedContainer( |
| 3293 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); | 3270 ToNode(m_pDocument->GetXFAObject(XFA_HASHCODE_Form))); |
| 3294 } | 3271 } |
| 3295 return 0; | 3272 return 0; |
| 3296 } | 3273 } |
| 3297 int32_t CXFA_Node::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) { | 3274 int32_t CXFA_Node::InstanceManager_MoveInstance(int32_t iTo, int32_t iFrom) { |
| 3298 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); | 3275 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); |
| 3299 if (iFrom > iCount || iTo > iCount - 1) { | 3276 if (iFrom > iCount || iTo > iCount - 1) { |
| 3300 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 3277 ThrowException(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 3301 return 1; | 3278 return 1; |
| 3302 } | 3279 } |
| 3303 if (iFrom < 0 || iTo < 0 || iFrom == iTo) { | 3280 if (iFrom < 0 || iTo < 0 || iFrom == iTo) { |
| 3304 return 0; | 3281 return 0; |
| 3305 } | 3282 } |
| 3306 CXFA_Node* pMoveInstance = XFA_ScriptInstanceManager_GetItem(this, iFrom); | 3283 CXFA_Node* pMoveInstance = XFA_ScriptInstanceManager_GetItem(this, iFrom); |
| 3307 XFA_ScriptInstanceManager_RemoveItem(this, pMoveInstance, FALSE); | 3284 XFA_ScriptInstanceManager_RemoveItem(this, pMoveInstance, FALSE); |
| 3308 XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1, | 3285 XFA_ScriptInstanceManager_InsertItem(this, pMoveInstance, iTo, iCount - 1, |
| 3309 TRUE); | 3286 TRUE); |
| 3310 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); | 3287 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 3334 occur.SetMin(iMin); | 3311 occur.SetMin(iMin); |
| 3335 } else { | 3312 } else { |
| 3336 FXJSE_Value_SetInteger(pValue, occur.GetMin()); | 3313 FXJSE_Value_SetInteger(pValue, occur.GetMin()); |
| 3337 } | 3314 } |
| 3338 } | 3315 } |
| 3339 void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) { | 3316 void CXFA_Node::Script_Desc_Metadata(CFXJSE_Arguments* pArguments) { |
| 3340 int32_t argc = pArguments->GetLength(); | 3317 int32_t argc = pArguments->GetLength(); |
| 3341 if ((argc == 0) || (argc == 1)) { | 3318 if ((argc == 0) || (argc == 1)) { |
| 3342 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); | 3319 FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), ""); |
| 3343 } else { | 3320 } else { |
| 3344 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"metadata"); | 3321 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"metadata"); |
| 3345 } | 3322 } |
| 3346 } | 3323 } |
| 3347 void CXFA_Node::Script_Form_FormNodes(CFXJSE_Arguments* pArguments) { | 3324 void CXFA_Node::Script_Form_FormNodes(CFXJSE_Arguments* pArguments) { |
| 3348 int32_t argc = pArguments->GetLength(); | 3325 int32_t argc = pArguments->GetLength(); |
| 3349 if (argc == 1) { | 3326 if (argc == 1) { |
| 3350 CXFA_Node* pDataNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 3327 CXFA_Node* pDataNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 3351 if (pDataNode) { | 3328 if (pDataNode) { |
| 3352 CXFA_NodeArray formItems; | 3329 CXFA_NodeArray formItems; |
| 3353 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); | 3330 CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument); |
| 3354 pFormNodes->SetArrayNodeList(formItems); | 3331 pFormNodes->SetArrayNodeList(formItems); |
| 3355 FXJSE_Value_SetObject( | 3332 FXJSE_Value_SetObject( |
| 3356 pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, | 3333 pArguments->GetReturnValue(), (CXFA_Object*)pFormNodes, |
| 3357 m_pDocument->GetScriptContext()->GetJseNormalClass()); | 3334 m_pDocument->GetScriptContext()->GetJseNormalClass()); |
| 3358 } else { | 3335 } else { |
| 3359 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 3336 ThrowException(XFA_IDS_ARGUMENT_MISMATCH); |
| 3360 } | 3337 } |
| 3361 } else { | 3338 } else { |
| 3362 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); | 3339 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"formNodes"); |
| 3363 } | 3340 } |
| 3364 } | 3341 } |
| 3365 void CXFA_Node::Script_Form_Remerge(CFXJSE_Arguments* pArguments) { | 3342 void CXFA_Node::Script_Form_Remerge(CFXJSE_Arguments* pArguments) { |
| 3366 int32_t argc = pArguments->GetLength(); | 3343 int32_t argc = pArguments->GetLength(); |
| 3367 if (argc == 0) { | 3344 if (argc == 0) { |
| 3368 m_pDocument->DoDataRemerge(TRUE); | 3345 m_pDocument->DoDataRemerge(TRUE); |
| 3369 } else { | 3346 } else { |
| 3370 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); | 3347 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remerge"); |
| 3371 } | 3348 } |
| 3372 } | 3349 } |
| 3373 void CXFA_Node::Script_Form_ExecInitialize(CFXJSE_Arguments* pArguments) { | 3350 void CXFA_Node::Script_Form_ExecInitialize(CFXJSE_Arguments* pArguments) { |
| 3374 int32_t argc = pArguments->GetLength(); | 3351 int32_t argc = pArguments->GetLength(); |
| 3375 if (argc == 0) { | 3352 if (argc == 0) { |
| 3376 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3353 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3377 if (!pNotify) { | 3354 if (!pNotify) { |
| 3378 return; | 3355 return; |
| 3379 } | 3356 } |
| 3380 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); | 3357 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Initialize); |
| 3381 } else { | 3358 } else { |
| 3382 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3359 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execInitialize"); |
| 3383 L"execInitialize"); | |
| 3384 } | 3360 } |
| 3385 } | 3361 } |
| 3386 void CXFA_Node::Script_Form_Recalculate(CFXJSE_Arguments* pArguments) { | 3362 void CXFA_Node::Script_Form_Recalculate(CFXJSE_Arguments* pArguments) { |
| 3387 CXFA_EventParam* pEventParam = | 3363 CXFA_EventParam* pEventParam = |
| 3388 m_pDocument->GetScriptContext()->GetEventParam(); | 3364 m_pDocument->GetScriptContext()->GetEventParam(); |
| 3389 if (pEventParam->m_eType == XFA_EVENT_Calculate || | 3365 if (pEventParam->m_eType == XFA_EVENT_Calculate || |
| 3390 pEventParam->m_eType == XFA_EVENT_InitCalculate) { | 3366 pEventParam->m_eType == XFA_EVENT_InitCalculate) { |
| 3391 return; | 3367 return; |
| 3392 } | 3368 } |
| 3393 int32_t argc = pArguments->GetLength(); | 3369 int32_t argc = pArguments->GetLength(); |
| 3394 if (argc == 1) { | 3370 if (argc == 1) { |
| 3395 const bool bScriptFlags = pArguments->GetInt32(0) != 0; | 3371 const bool bScriptFlags = pArguments->GetInt32(0) != 0; |
| 3396 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3372 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3397 if (!pNotify) { | 3373 if (!pNotify) { |
| 3398 return; | 3374 return; |
| 3399 } | 3375 } |
| 3400 if (bScriptFlags) { | 3376 if (bScriptFlags) { |
| 3401 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 3377 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 3402 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 3378 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 3403 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Ready, TRUE); | 3379 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Ready, TRUE); |
| 3404 } else { | 3380 } else { |
| 3405 } | 3381 } |
| 3406 } else { | 3382 } else { |
| 3407 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); | 3383 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"recalculate"); |
| 3408 } | 3384 } |
| 3409 } | 3385 } |
| 3410 void CXFA_Node::Script_Form_ExecCalculate(CFXJSE_Arguments* pArguments) { | 3386 void CXFA_Node::Script_Form_ExecCalculate(CFXJSE_Arguments* pArguments) { |
| 3411 int32_t argc = pArguments->GetLength(); | 3387 int32_t argc = pArguments->GetLength(); |
| 3412 if (argc == 0) { | 3388 if (argc == 0) { |
| 3413 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3389 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3414 if (!pNotify) { | 3390 if (!pNotify) { |
| 3415 return; | 3391 return; |
| 3416 } | 3392 } |
| 3417 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); | 3393 pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Calculate); |
| 3418 } else { | 3394 } else { |
| 3419 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3395 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execCalculate"); |
| 3420 L"execCalculate"); | |
| 3421 } | 3396 } |
| 3422 } | 3397 } |
| 3423 void CXFA_Node::Script_Form_ExecValidate(CFXJSE_Arguments* pArguments) { | 3398 void CXFA_Node::Script_Form_ExecValidate(CFXJSE_Arguments* pArguments) { |
| 3424 int32_t argc = pArguments->GetLength(); | 3399 int32_t argc = pArguments->GetLength(); |
| 3425 if (argc == 0) { | 3400 if (argc == 0) { |
| 3426 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); | 3401 CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
| 3427 if (!pNotify) { | 3402 if (!pNotify) { |
| 3428 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); | 3403 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), FALSE); |
| 3429 } else { | 3404 } else { |
| 3430 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); | 3405 int32_t iRet = pNotify->ExecEventByDeepFirst(this, XFA_EVENT_Validate); |
| 3431 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), | 3406 FXJSE_Value_SetBoolean(pArguments->GetReturnValue(), |
| 3432 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); | 3407 ((iRet == XFA_EVENTERROR_Error) ? FALSE : TRUE)); |
| 3433 } | 3408 } |
| 3434 } else { | 3409 } else { |
| 3435 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3410 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"execValidate"); |
| 3436 L"execValidate"); | |
| 3437 } | 3411 } |
| 3438 } | 3412 } |
| 3439 void CXFA_Node::Script_Form_Checksum(CFXJSE_Value* pValue, | 3413 void CXFA_Node::Script_Form_Checksum(CFXJSE_Value* pValue, |
| 3440 FX_BOOL bSetting, | 3414 FX_BOOL bSetting, |
| 3441 XFA_ATTRIBUTE eAttribute) { | 3415 XFA_ATTRIBUTE eAttribute) { |
| 3442 if (bSetting) { | 3416 if (bSetting) { |
| 3443 CFX_ByteString bsChecksum; | 3417 CFX_ByteString bsChecksum; |
| 3444 FXJSE_Value_ToUTF8String(pValue, bsChecksum); | 3418 FXJSE_Value_ToUTF8String(pValue, bsChecksum); |
| 3445 SetAttribute(XFA_ATTRIBUTE_Checksum, | 3419 SetAttribute(XFA_ATTRIBUTE_Checksum, |
| 3446 CFX_WideString::FromUTF8(bsChecksum.AsStringC()).AsStringC()); | 3420 CFX_WideString::FromUTF8(bsChecksum.AsStringC()).AsStringC()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 3461 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3435 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3462 static_cast<CFDE_XMLElement*>(pXMLNode)->GetString( | 3436 static_cast<CFDE_XMLElement*>(pXMLNode)->GetString( |
| 3463 CFX_WideString::FromUTF8(bsAttributeName.AsStringC()).c_str(), | 3437 CFX_WideString::FromUTF8(bsAttributeName.AsStringC()).c_str(), |
| 3464 wsAttributeValue); | 3438 wsAttributeValue); |
| 3465 } | 3439 } |
| 3466 FXJSE_Value_SetUTF8String( | 3440 FXJSE_Value_SetUTF8String( |
| 3467 pArguments->GetReturnValue(), | 3441 pArguments->GetReturnValue(), |
| 3468 FX_UTF8Encode(wsAttributeValue.c_str(), wsAttributeValue.GetLength()) | 3442 FX_UTF8Encode(wsAttributeValue.c_str(), wsAttributeValue.GetLength()) |
| 3469 .AsStringC()); | 3443 .AsStringC()); |
| 3470 } else { | 3444 } else { |
| 3471 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3445 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"getAttribute"); |
| 3472 L"getAttribute"); | |
| 3473 } | 3446 } |
| 3474 } | 3447 } |
| 3475 void CXFA_Node::Script_Packet_SetAttribute(CFXJSE_Arguments* pArguments) { | 3448 void CXFA_Node::Script_Packet_SetAttribute(CFXJSE_Arguments* pArguments) { |
| 3476 int32_t argc = pArguments->GetLength(); | 3449 int32_t argc = pArguments->GetLength(); |
| 3477 if (argc == 2) { | 3450 if (argc == 2) { |
| 3478 CFX_ByteString bsValue = pArguments->GetUTF8String(0); | 3451 CFX_ByteString bsValue = pArguments->GetUTF8String(0); |
| 3479 CFX_ByteString bsName = pArguments->GetUTF8String(1); | 3452 CFX_ByteString bsName = pArguments->GetUTF8String(1); |
| 3480 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3453 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3481 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3454 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3482 static_cast<CFDE_XMLElement*>(pXMLNode) | 3455 static_cast<CFDE_XMLElement*>(pXMLNode) |
| 3483 ->SetString(CFX_WideString::FromUTF8(bsName.AsStringC()), | 3456 ->SetString(CFX_WideString::FromUTF8(bsName.AsStringC()), |
| 3484 CFX_WideString::FromUTF8(bsValue.AsStringC())); | 3457 CFX_WideString::FromUTF8(bsValue.AsStringC())); |
| 3485 } | 3458 } |
| 3486 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 3459 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 3487 } else { | 3460 } else { |
| 3488 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3461 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"setAttribute"); |
| 3489 L"setAttribute"); | |
| 3490 } | 3462 } |
| 3491 } | 3463 } |
| 3492 void CXFA_Node::Script_Packet_RemoveAttribute(CFXJSE_Arguments* pArguments) { | 3464 void CXFA_Node::Script_Packet_RemoveAttribute(CFXJSE_Arguments* pArguments) { |
| 3493 int32_t argc = pArguments->GetLength(); | 3465 int32_t argc = pArguments->GetLength(); |
| 3494 if (argc == 1) { | 3466 if (argc == 1) { |
| 3495 CFX_ByteString bsName = pArguments->GetUTF8String(0); | 3467 CFX_ByteString bsName = pArguments->GetUTF8String(0); |
| 3496 CFX_WideString wsName = CFX_WideString::FromUTF8(bsName.AsStringC()); | 3468 CFX_WideString wsName = CFX_WideString::FromUTF8(bsName.AsStringC()); |
| 3497 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3469 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3498 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3470 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| 3499 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); | 3471 CFDE_XMLElement* pXMLElement = static_cast<CFDE_XMLElement*>(pXMLNode); |
| 3500 if (pXMLElement->HasAttribute(wsName.c_str())) { | 3472 if (pXMLElement->HasAttribute(wsName.c_str())) { |
| 3501 pXMLElement->RemoveAttribute(wsName.c_str()); | 3473 pXMLElement->RemoveAttribute(wsName.c_str()); |
| 3502 } | 3474 } |
| 3503 } | 3475 } |
| 3504 FXJSE_Value_SetNull(pArguments->GetReturnValue()); | 3476 FXJSE_Value_SetNull(pArguments->GetReturnValue()); |
| 3505 } else { | 3477 } else { |
| 3506 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3478 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"removeAttribute"); |
| 3507 L"removeAttribute"); | |
| 3508 } | 3479 } |
| 3509 } | 3480 } |
| 3510 void CXFA_Node::Script_Packet_Content(CFXJSE_Value* pValue, | 3481 void CXFA_Node::Script_Packet_Content(CFXJSE_Value* pValue, |
| 3511 FX_BOOL bSetting, | 3482 FX_BOOL bSetting, |
| 3512 XFA_ATTRIBUTE eAttribute) { | 3483 XFA_ATTRIBUTE eAttribute) { |
| 3513 if (bSetting) { | 3484 if (bSetting) { |
| 3514 CFX_ByteString bsNewContent; | 3485 CFX_ByteString bsNewContent; |
| 3515 FXJSE_Value_ToUTF8String(pValue, bsNewContent); | 3486 FXJSE_Value_ToUTF8String(pValue, bsNewContent); |
| 3516 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); | 3487 CFDE_XMLNode* pXMLNode = GetXMLMappingNode(); |
| 3517 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { | 3488 if (pXMLNode && pXMLNode->GetType() == FDE_XMLNODE_Element) { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 3528 } | 3499 } |
| 3529 FXJSE_Value_SetUTF8String( | 3500 FXJSE_Value_SetUTF8String( |
| 3530 pValue, | 3501 pValue, |
| 3531 FX_UTF8Encode(wsTextData.c_str(), wsTextData.GetLength()).AsStringC()); | 3502 FX_UTF8Encode(wsTextData.c_str(), wsTextData.GetLength()).AsStringC()); |
| 3532 } | 3503 } |
| 3533 } | 3504 } |
| 3534 void CXFA_Node::Script_Source_Next(CFXJSE_Arguments* pArguments) { | 3505 void CXFA_Node::Script_Source_Next(CFXJSE_Arguments* pArguments) { |
| 3535 int32_t argc = pArguments->GetLength(); | 3506 int32_t argc = pArguments->GetLength(); |
| 3536 if (argc == 0) { | 3507 if (argc == 0) { |
| 3537 } else { | 3508 } else { |
| 3538 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"next"); | 3509 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"next"); |
| 3539 } | 3510 } |
| 3540 } | 3511 } |
| 3541 void CXFA_Node::Script_Source_CancelBatch(CFXJSE_Arguments* pArguments) { | 3512 void CXFA_Node::Script_Source_CancelBatch(CFXJSE_Arguments* pArguments) { |
| 3542 int32_t argc = pArguments->GetLength(); | 3513 int32_t argc = pArguments->GetLength(); |
| 3543 if (argc == 0) { | 3514 if (argc == 0) { |
| 3544 } else { | 3515 } else { |
| 3545 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancelBatch"); | 3516 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancelBatch"); |
| 3546 } | 3517 } |
| 3547 } | 3518 } |
| 3548 void CXFA_Node::Script_Source_First(CFXJSE_Arguments* pArguments) { | 3519 void CXFA_Node::Script_Source_First(CFXJSE_Arguments* pArguments) { |
| 3549 int32_t argc = pArguments->GetLength(); | 3520 int32_t argc = pArguments->GetLength(); |
| 3550 if (argc == 0) { | 3521 if (argc == 0) { |
| 3551 } else { | 3522 } else { |
| 3552 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"first"); | 3523 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"first"); |
| 3553 } | 3524 } |
| 3554 } | 3525 } |
| 3555 void CXFA_Node::Script_Source_UpdateBatch(CFXJSE_Arguments* pArguments) { | 3526 void CXFA_Node::Script_Source_UpdateBatch(CFXJSE_Arguments* pArguments) { |
| 3556 int32_t argc = pArguments->GetLength(); | 3527 int32_t argc = pArguments->GetLength(); |
| 3557 if (argc == 0) { | 3528 if (argc == 0) { |
| 3558 } else { | 3529 } else { |
| 3559 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"updateBatch"); | 3530 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"updateBatch"); |
| 3560 } | 3531 } |
| 3561 } | 3532 } |
| 3562 void CXFA_Node::Script_Source_Previous(CFXJSE_Arguments* pArguments) { | 3533 void CXFA_Node::Script_Source_Previous(CFXJSE_Arguments* pArguments) { |
| 3563 int32_t argc = pArguments->GetLength(); | 3534 int32_t argc = pArguments->GetLength(); |
| 3564 if (argc == 0) { | 3535 if (argc == 0) { |
| 3565 } else { | 3536 } else { |
| 3566 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"previous"); | 3537 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"previous"); |
| 3567 } | 3538 } |
| 3568 } | 3539 } |
| 3569 void CXFA_Node::Script_Source_IsBOF(CFXJSE_Arguments* pArguments) { | 3540 void CXFA_Node::Script_Source_IsBOF(CFXJSE_Arguments* pArguments) { |
| 3570 int32_t argc = pArguments->GetLength(); | 3541 int32_t argc = pArguments->GetLength(); |
| 3571 if (argc == 0) { | 3542 if (argc == 0) { |
| 3572 } else { | 3543 } else { |
| 3573 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isBOF"); | 3544 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isBOF"); |
| 3574 } | 3545 } |
| 3575 } | 3546 } |
| 3576 void CXFA_Node::Script_Source_IsEOF(CFXJSE_Arguments* pArguments) { | 3547 void CXFA_Node::Script_Source_IsEOF(CFXJSE_Arguments* pArguments) { |
| 3577 int32_t argc = pArguments->GetLength(); | 3548 int32_t argc = pArguments->GetLength(); |
| 3578 if (argc == 0) { | 3549 if (argc == 0) { |
| 3579 } else { | 3550 } else { |
| 3580 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isEOF"); | 3551 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"isEOF"); |
| 3581 } | 3552 } |
| 3582 } | 3553 } |
| 3583 void CXFA_Node::Script_Source_Cancel(CFXJSE_Arguments* pArguments) { | 3554 void CXFA_Node::Script_Source_Cancel(CFXJSE_Arguments* pArguments) { |
| 3584 int32_t argc = pArguments->GetLength(); | 3555 int32_t argc = pArguments->GetLength(); |
| 3585 if (argc == 0) { | 3556 if (argc == 0) { |
| 3586 } else { | 3557 } else { |
| 3587 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancel"); | 3558 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"cancel"); |
| 3588 } | 3559 } |
| 3589 } | 3560 } |
| 3590 void CXFA_Node::Script_Source_Update(CFXJSE_Arguments* pArguments) { | 3561 void CXFA_Node::Script_Source_Update(CFXJSE_Arguments* pArguments) { |
| 3591 int32_t argc = pArguments->GetLength(); | 3562 int32_t argc = pArguments->GetLength(); |
| 3592 if (argc == 0) { | 3563 if (argc == 0) { |
| 3593 } else { | 3564 } else { |
| 3594 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"update"); | 3565 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"update"); |
| 3595 } | 3566 } |
| 3596 } | 3567 } |
| 3597 void CXFA_Node::Script_Source_Open(CFXJSE_Arguments* pArguments) { | 3568 void CXFA_Node::Script_Source_Open(CFXJSE_Arguments* pArguments) { |
| 3598 int32_t argc = pArguments->GetLength(); | 3569 int32_t argc = pArguments->GetLength(); |
| 3599 if (argc == 0) { | 3570 if (argc == 0) { |
| 3600 } else { | 3571 } else { |
| 3601 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"open"); | 3572 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"open"); |
| 3602 } | 3573 } |
| 3603 } | 3574 } |
| 3604 void CXFA_Node::Script_Source_Delete(CFXJSE_Arguments* pArguments) { | 3575 void CXFA_Node::Script_Source_Delete(CFXJSE_Arguments* pArguments) { |
| 3605 int32_t argc = pArguments->GetLength(); | 3576 int32_t argc = pArguments->GetLength(); |
| 3606 if (argc == 0) { | 3577 if (argc == 0) { |
| 3607 } else { | 3578 } else { |
| 3608 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"delete"); | 3579 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"delete"); |
| 3609 } | 3580 } |
| 3610 } | 3581 } |
| 3611 void CXFA_Node::Script_Source_AddNew(CFXJSE_Arguments* pArguments) { | 3582 void CXFA_Node::Script_Source_AddNew(CFXJSE_Arguments* pArguments) { |
| 3612 int32_t argc = pArguments->GetLength(); | 3583 int32_t argc = pArguments->GetLength(); |
| 3613 if (argc == 0) { | 3584 if (argc == 0) { |
| 3614 } else { | 3585 } else { |
| 3615 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addNew"); | 3586 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"addNew"); |
| 3616 } | 3587 } |
| 3617 } | 3588 } |
| 3618 void CXFA_Node::Script_Source_Requery(CFXJSE_Arguments* pArguments) { | 3589 void CXFA_Node::Script_Source_Requery(CFXJSE_Arguments* pArguments) { |
| 3619 int32_t argc = pArguments->GetLength(); | 3590 int32_t argc = pArguments->GetLength(); |
| 3620 if (argc == 0) { | 3591 if (argc == 0) { |
| 3621 } else { | 3592 } else { |
| 3622 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"requery"); | 3593 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"requery"); |
| 3623 } | 3594 } |
| 3624 } | 3595 } |
| 3625 void CXFA_Node::Script_Source_Resync(CFXJSE_Arguments* pArguments) { | 3596 void CXFA_Node::Script_Source_Resync(CFXJSE_Arguments* pArguments) { |
| 3626 int32_t argc = pArguments->GetLength(); | 3597 int32_t argc = pArguments->GetLength(); |
| 3627 if (argc == 0) { | 3598 if (argc == 0) { |
| 3628 } else { | 3599 } else { |
| 3629 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resync"); | 3600 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"resync"); |
| 3630 } | 3601 } |
| 3631 } | 3602 } |
| 3632 void CXFA_Node::Script_Source_Close(CFXJSE_Arguments* pArguments) { | 3603 void CXFA_Node::Script_Source_Close(CFXJSE_Arguments* pArguments) { |
| 3633 int32_t argc = pArguments->GetLength(); | 3604 int32_t argc = pArguments->GetLength(); |
| 3634 if (argc == 0) { | 3605 if (argc == 0) { |
| 3635 } else { | 3606 } else { |
| 3636 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"close"); | 3607 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"close"); |
| 3637 } | 3608 } |
| 3638 } | 3609 } |
| 3639 void CXFA_Node::Script_Source_Last(CFXJSE_Arguments* pArguments) { | 3610 void CXFA_Node::Script_Source_Last(CFXJSE_Arguments* pArguments) { |
| 3640 int32_t argc = pArguments->GetLength(); | 3611 int32_t argc = pArguments->GetLength(); |
| 3641 if (argc == 0) { | 3612 if (argc == 0) { |
| 3642 } else { | 3613 } else { |
| 3643 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"last"); | 3614 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"last"); |
| 3644 } | 3615 } |
| 3645 } | 3616 } |
| 3646 void CXFA_Node::Script_Source_HasDataChanged(CFXJSE_Arguments* pArguments) { | 3617 void CXFA_Node::Script_Source_HasDataChanged(CFXJSE_Arguments* pArguments) { |
| 3647 int32_t argc = pArguments->GetLength(); | 3618 int32_t argc = pArguments->GetLength(); |
| 3648 if (argc == 0) { | 3619 if (argc == 0) { |
| 3649 } else { | 3620 } else { |
| 3650 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, | 3621 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"hasDataChanged"); |
| 3651 L"hasDataChanged"); | |
| 3652 } | 3622 } |
| 3653 } | 3623 } |
| 3654 void CXFA_Node::Script_Source_Db(CFXJSE_Value* pValue, | 3624 void CXFA_Node::Script_Source_Db(CFXJSE_Value* pValue, |
| 3655 FX_BOOL bSetting, | 3625 FX_BOOL bSetting, |
| 3656 XFA_ATTRIBUTE eAttribute) {} | 3626 XFA_ATTRIBUTE eAttribute) {} |
| 3657 void CXFA_Node::Script_Xfa_This(CFXJSE_Value* pValue, | 3627 void CXFA_Node::Script_Xfa_This(CFXJSE_Value* pValue, |
| 3658 FX_BOOL bSetting, | 3628 FX_BOOL bSetting, |
| 3659 XFA_ATTRIBUTE eAttribute) { | 3629 XFA_ATTRIBUTE eAttribute) { |
| 3660 if (!bSetting) { | 3630 if (!bSetting) { |
| 3661 CXFA_Object* pThis = m_pDocument->GetScriptContext()->GetThisObject(); | 3631 CXFA_Object* pThis = m_pDocument->GetScriptContext()->GetThisObject(); |
| 3662 ASSERT(pThis); | 3632 ASSERT(pThis); |
| 3663 FXJSE_Value_Set(pValue, | 3633 FXJSE_Value_Set(pValue, |
| 3664 m_pDocument->GetScriptContext()->GetJSValueFromMap(pThis)); | 3634 m_pDocument->GetScriptContext()->GetJSValueFromMap(pThis)); |
| 3665 } | 3635 } |
| 3666 } | 3636 } |
| 3667 void CXFA_Node::Script_Handler_Version(CFXJSE_Value* pValue, | 3637 void CXFA_Node::Script_Handler_Version(CFXJSE_Value* pValue, |
| 3668 FX_BOOL bSetting, | 3638 FX_BOOL bSetting, |
| 3669 XFA_ATTRIBUTE eAttribute) {} | 3639 XFA_ATTRIBUTE eAttribute) {} |
| 3670 void CXFA_Node::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, | 3640 void CXFA_Node::Script_SubmitFormat_Mode(CFXJSE_Value* pValue, |
| 3671 FX_BOOL bSetting, | 3641 FX_BOOL bSetting, |
| 3672 XFA_ATTRIBUTE eAttribute) {} | 3642 XFA_ATTRIBUTE eAttribute) {} |
| 3673 void CXFA_Node::Script_Extras_Type(CFXJSE_Value* pValue, | 3643 void CXFA_Node::Script_Extras_Type(CFXJSE_Value* pValue, |
| 3674 FX_BOOL bSetting, | 3644 FX_BOOL bSetting, |
| 3675 XFA_ATTRIBUTE eAttribute) {} | 3645 XFA_ATTRIBUTE eAttribute) {} |
| 3676 void CXFA_Node::Script_Script_Stateless(CFXJSE_Value* pValue, | 3646 void CXFA_Node::Script_Script_Stateless(CFXJSE_Value* pValue, |
| 3677 FX_BOOL bSetting, | 3647 FX_BOOL bSetting, |
| 3678 XFA_ATTRIBUTE eAttribute) { | 3648 XFA_ATTRIBUTE eAttribute) { |
| 3679 if (bSetting) { | 3649 if (bSetting) { |
| 3680 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 3650 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 3681 return; | 3651 return; |
| 3682 } | 3652 } |
| 3683 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC()); | 3653 FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(FX_WSTRC(L"0")).AsStringC()); |
| 3684 } | 3654 } |
| 3685 void CXFA_Node::Script_Encrypt_Format(CFXJSE_Value* pValue, | 3655 void CXFA_Node::Script_Encrypt_Format(CFXJSE_Value* pValue, |
| 3686 FX_BOOL bSetting, | 3656 FX_BOOL bSetting, |
| 3687 XFA_ATTRIBUTE eAttribute) {} | 3657 XFA_ATTRIBUTE eAttribute) {} |
| 3688 enum XFA_KEYTYPE { | 3658 enum XFA_KEYTYPE { |
| 3689 XFA_KEYTYPE_Custom, | 3659 XFA_KEYTYPE_Custom, |
| 3690 XFA_KEYTYPE_Element, | 3660 XFA_KEYTYPE_Element, |
| (...skipping 1503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5194 } | 5164 } |
| 5195 return nullptr; | 5165 return nullptr; |
| 5196 } | 5166 } |
| 5197 void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) { | 5167 void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) { |
| 5198 int32_t argc = pArguments->GetLength(); | 5168 int32_t argc = pArguments->GetLength(); |
| 5199 if (argc == 1) { | 5169 if (argc == 1) { |
| 5200 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 5170 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 5201 if (pNode) { | 5171 if (pNode) { |
| 5202 Append(pNode); | 5172 Append(pNode); |
| 5203 } else { | 5173 } else { |
| 5204 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 5174 ThrowException(XFA_IDS_ARGUMENT_MISMATCH); |
| 5205 } | 5175 } |
| 5206 } else { | 5176 } else { |
| 5207 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"append"); | 5177 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"append"); |
| 5208 } | 5178 } |
| 5209 } | 5179 } |
| 5210 void CXFA_NodeList::Script_ListClass_Insert(CFXJSE_Arguments* pArguments) { | 5180 void CXFA_NodeList::Script_ListClass_Insert(CFXJSE_Arguments* pArguments) { |
| 5211 int32_t argc = pArguments->GetLength(); | 5181 int32_t argc = pArguments->GetLength(); |
| 5212 if (argc == 2) { | 5182 if (argc == 2) { |
| 5213 CXFA_Node* pNewNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 5183 CXFA_Node* pNewNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 5214 CXFA_Node* pBeforeNode = static_cast<CXFA_Node*>(pArguments->GetObject(1)); | 5184 CXFA_Node* pBeforeNode = static_cast<CXFA_Node*>(pArguments->GetObject(1)); |
| 5215 if (pNewNode) { | 5185 if (pNewNode) { |
| 5216 Insert(pNewNode, pBeforeNode); | 5186 Insert(pNewNode, pBeforeNode); |
| 5217 } else { | 5187 } else { |
| 5218 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 5188 ThrowException(XFA_IDS_ARGUMENT_MISMATCH); |
| 5219 } | 5189 } |
| 5220 } else { | 5190 } else { |
| 5221 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"insert"); | 5191 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"insert"); |
| 5222 } | 5192 } |
| 5223 } | 5193 } |
| 5224 void CXFA_NodeList::Script_ListClass_Remove(CFXJSE_Arguments* pArguments) { | 5194 void CXFA_NodeList::Script_ListClass_Remove(CFXJSE_Arguments* pArguments) { |
| 5225 int32_t argc = pArguments->GetLength(); | 5195 int32_t argc = pArguments->GetLength(); |
| 5226 if (argc == 1) { | 5196 if (argc == 1) { |
| 5227 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); | 5197 CXFA_Node* pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0)); |
| 5228 if (pNode) { | 5198 if (pNode) { |
| 5229 Remove(pNode); | 5199 Remove(pNode); |
| 5230 } else { | 5200 } else { |
| 5231 ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH); | 5201 ThrowException(XFA_IDS_ARGUMENT_MISMATCH); |
| 5232 } | 5202 } |
| 5233 } else { | 5203 } else { |
| 5234 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remove"); | 5204 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"remove"); |
| 5235 } | 5205 } |
| 5236 } | 5206 } |
| 5237 void CXFA_NodeList::Script_ListClass_Item(CFXJSE_Arguments* pArguments) { | 5207 void CXFA_NodeList::Script_ListClass_Item(CFXJSE_Arguments* pArguments) { |
| 5238 int32_t argc = pArguments->GetLength(); | 5208 int32_t argc = pArguments->GetLength(); |
| 5239 if (argc == 1) { | 5209 if (argc == 1) { |
| 5240 int32_t iIndex = pArguments->GetInt32(0); | 5210 int32_t iIndex = pArguments->GetInt32(0); |
| 5241 if ((iIndex >= 0) && (iIndex + 1 <= GetLength())) { | 5211 if ((iIndex >= 0) && (iIndex + 1 <= GetLength())) { |
| 5242 FXJSE_Value_Set( | 5212 FXJSE_Value_Set( |
| 5243 pArguments->GetReturnValue(), | 5213 pArguments->GetReturnValue(), |
| 5244 m_pDocument->GetScriptContext()->GetJSValueFromMap(Item(iIndex))); | 5214 m_pDocument->GetScriptContext()->GetJSValueFromMap(Item(iIndex))); |
| 5245 } else { | 5215 } else { |
| 5246 ThrowScriptErrorMessage(XFA_IDS_INDEX_OUT_OF_BOUNDS); | 5216 ThrowException(XFA_IDS_INDEX_OUT_OF_BOUNDS); |
| 5247 } | 5217 } |
| 5248 } else { | 5218 } else { |
| 5249 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"item"); | 5219 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"item"); |
| 5250 } | 5220 } |
| 5251 } | 5221 } |
| 5252 void CXFA_NodeList::Script_TreelistClass_NamedItem( | 5222 void CXFA_NodeList::Script_TreelistClass_NamedItem( |
| 5253 CFXJSE_Arguments* pArguments) { | 5223 CFXJSE_Arguments* pArguments) { |
| 5254 int32_t argc = pArguments->GetLength(); | 5224 int32_t argc = pArguments->GetLength(); |
| 5255 if (argc == 1) { | 5225 if (argc == 1) { |
| 5256 CFX_ByteString szName = pArguments->GetUTF8String(0); | 5226 CFX_ByteString szName = pArguments->GetUTF8String(0); |
| 5257 CXFA_Node* pNode = | 5227 CXFA_Node* pNode = |
| 5258 NamedItem(CFX_WideString::FromUTF8(szName.AsStringC()).AsStringC()); | 5228 NamedItem(CFX_WideString::FromUTF8(szName.AsStringC()).AsStringC()); |
| 5259 if (!pNode) { | 5229 if (!pNode) { |
| 5260 return; | 5230 return; |
| 5261 } | 5231 } |
| 5262 FXJSE_Value_Set(pArguments->GetReturnValue(), | 5232 FXJSE_Value_Set(pArguments->GetReturnValue(), |
| 5263 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); | 5233 m_pDocument->GetScriptContext()->GetJSValueFromMap(pNode)); |
| 5264 } else { | 5234 } else { |
| 5265 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"namedItem"); | 5235 ThrowException(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"namedItem"); |
| 5266 } | 5236 } |
| 5267 } | 5237 } |
| 5268 void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue, | 5238 void CXFA_NodeList::Script_ListClass_Length(CFXJSE_Value* pValue, |
| 5269 FX_BOOL bSetting, | 5239 FX_BOOL bSetting, |
| 5270 XFA_ATTRIBUTE eAttribute) { | 5240 XFA_ATTRIBUTE eAttribute) { |
| 5271 if (!bSetting) { | 5241 if (!bSetting) { |
| 5272 FXJSE_Value_SetInteger(pValue, GetLength()); | 5242 FXJSE_Value_SetInteger(pValue, GetLength()); |
| 5273 } else { | 5243 } else { |
| 5274 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); | 5244 ThrowException(XFA_IDS_INVAlID_PROP_SET); |
| 5275 } | 5245 } |
| 5276 } | 5246 } |
| 5277 CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument) | 5247 CXFA_ArrayNodeList::CXFA_ArrayNodeList(CXFA_Document* pDocument) |
| 5278 : CXFA_NodeList(pDocument) {} | 5248 : CXFA_NodeList(pDocument) {} |
| 5279 void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) { | 5249 void CXFA_ArrayNodeList::SetArrayNodeList(const CXFA_NodeArray& srcArray) { |
| 5280 if (srcArray.GetSize() > 0) { | 5250 if (srcArray.GetSize() > 0) { |
| 5281 m_array.Copy(srcArray); | 5251 m_array.Copy(srcArray); |
| 5282 } | 5252 } |
| 5283 } | 5253 } |
| 5284 int32_t CXFA_ArrayNodeList::GetLength() { | 5254 int32_t CXFA_ArrayNodeList::GetLength() { |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5345 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); | 5315 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); |
| 5346 } | 5316 } |
| 5347 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { | 5317 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { |
| 5348 return m_pAttachNode->RemoveChild(pNode); | 5318 return m_pAttachNode->RemoveChild(pNode); |
| 5349 } | 5319 } |
| 5350 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { | 5320 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { |
| 5351 return m_pAttachNode->GetChild( | 5321 return m_pAttachNode->GetChild( |
| 5352 iIndex, XFA_ELEMENT_UNKNOWN, | 5322 iIndex, XFA_ELEMENT_UNKNOWN, |
| 5353 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); | 5323 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); |
| 5354 } | 5324 } |
| OLD | NEW |