Chromium Code Reviews

Side by Side Diff: xfa/fxfa/parser/xfa_object_imp.cpp

Issue 1830323006: Remove FX_DWORD from XFA. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
« no previous file with comments | « xfa/fxfa/parser/xfa_localevalue.cpp ('k') | xfa/fxfa/parser/xfa_objectacc_imp.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "core/fxcrt/include/fx_ext.h" 9 #include "core/fxcrt/include/fx_ext.h"
10 #include "xfa/fgas/crt/fgas_codepage.h" 10 #include "xfa/fgas/crt/fgas_codepage.h"
11 #include "xfa/fgas/crt/fgas_system.h" 11 #include "xfa/fgas/crt/fgas_system.h"
12 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 12 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
13 #include "xfa/fxfa/parser/xfa_basic_imp.h" 13 #include "xfa/fxfa/parser/xfa_basic_imp.h"
14 #include "xfa/fxfa/parser/xfa_docdata.h" 14 #include "xfa/fxfa/parser/xfa_docdata.h"
15 #include "xfa/fxfa/parser/xfa_doclayout.h" 15 #include "xfa/fxfa/parser/xfa_doclayout.h"
16 #include "xfa/fxfa/parser/xfa_document.h" 16 #include "xfa/fxfa/parser/xfa_document.h"
17 #include "xfa/fxfa/parser/xfa_document_layout_imp.h" 17 #include "xfa/fxfa/parser/xfa_document_layout_imp.h"
18 #include "xfa/fxfa/parser/xfa_localemgr.h" 18 #include "xfa/fxfa/parser/xfa_localemgr.h"
19 #include "xfa/fxfa/parser/xfa_parser.h" 19 #include "xfa/fxfa/parser/xfa_parser.h"
20 #include "xfa/fxfa/parser/xfa_script.h" 20 #include "xfa/fxfa/parser/xfa_script.h"
21 #include "xfa/fxfa/parser/xfa_utils.h" 21 #include "xfa/fxfa/parser/xfa_utils.h"
22 #include "xfa/fxjse/cfxjse_arguments.h" 22 #include "xfa/fxjse/cfxjse_arguments.h"
23 23
24 CXFA_Object::CXFA_Object(CXFA_Document* pDocument, FX_DWORD uFlags) 24 CXFA_Object::CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags)
25 : m_pDocument(pDocument), m_uFlags(uFlags) {} 25 : m_pDocument(pDocument), m_uFlags(uFlags) {}
26 void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const { 26 void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const {
27 wsName = XFA_GetElementByID(GetClassID())->pName; 27 wsName = XFA_GetElementByID(GetClassID())->pName;
28 } 28 }
29 uint32_t CXFA_Object::GetClassHashCode() const { 29 uint32_t CXFA_Object::GetClassHashCode() const {
30 return XFA_GetElementByID(GetClassID())->uHash; 30 return XFA_GetElementByID(GetClassID())->uHash;
31 } 31 }
32 XFA_ELEMENT CXFA_Object::GetClassID() const { 32 XFA_ELEMENT CXFA_Object::GetClassID() const {
33 if (IsNode()) { 33 if (IsNode()) {
34 return AsNode()->GetClassID(); 34 return AsNode()->GetClassID();
(...skipping 180 matching lines...)
215 pSibling = pSibling->m_pNext; 215 pSibling = pSibling->m_pNext;
216 } 216 }
217 } 217 }
218 break; 218 break;
219 default: 219 default:
220 break; 220 break;
221 } 221 }
222 return pNode; 222 return pNode;
223 } 223 }
224 int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes, 224 int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes,
225 FX_DWORD dwTypeFilter, 225 uint32_t dwTypeFilter,
226 XFA_ELEMENT eElementFilter, 226 XFA_ELEMENT eElementFilter,
227 int32_t iLevel) { 227 int32_t iLevel) {
228 if (--iLevel < 0) { 228 if (--iLevel < 0) {
229 return nodes.GetSize(); 229 return nodes.GetSize();
230 } 230 }
231 if (eElementFilter != XFA_ELEMENT_UNKNOWN) { 231 if (eElementFilter != XFA_ELEMENT_UNKNOWN) {
232 CXFA_Node* pChild = m_pChild; 232 CXFA_Node* pChild = m_pChild;
233 while (pChild) { 233 while (pChild) {
234 if (pChild->GetClassID() == eElementFilter) { 234 if (pChild->GetClassID() == eElementFilter) {
235 nodes.Add(pChild); 235 nodes.Add(pChild);
(...skipping 60 matching lines...)
296 pNewNode->SetFlag(XFA_NODEFLAG_Initialized); 296 pNewNode->SetFlag(XFA_NODEFLAG_Initialized);
297 nodes.Add(pNewNode); 297 nodes.Add(pNewNode);
298 break; 298 break;
299 } 299 }
300 } 300 }
301 } 301 }
302 } 302 }
303 return nodes.GetSize(); 303 return nodes.GetSize();
304 } 304 }
305 CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_ELEMENT eElement, 305 CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_ELEMENT eElement,
306 FX_DWORD dwFlags) { 306 uint32_t dwFlags) {
307 IXFA_ObjFactory* pFactory = m_pDocument->GetParser()->GetFactory(); 307 IXFA_ObjFactory* pFactory = m_pDocument->GetParser()->GetFactory();
308 CXFA_Node* pNode = pFactory->CreateNode(m_ePacket, eElement); 308 CXFA_Node* pNode = pFactory->CreateNode(m_ePacket, eElement);
309 pNode->SetFlag(dwFlags); 309 pNode->SetFlag(dwFlags);
310 return pNode; 310 return pNode;
311 } 311 }
312 CXFA_Node* CXFA_Node::CloneTemplateToForm(FX_BOOL bRecursive) { 312 CXFA_Node* CXFA_Node::CloneTemplateToForm(FX_BOOL bRecursive) {
313 FXSYS_assert(m_ePacket == XFA_XDPPACKET_Template); 313 FXSYS_assert(m_ePacket == XFA_XDPPACKET_Template);
314 IXFA_ObjFactory* pFactory = m_pDocument->GetParser()->GetFactory(); 314 IXFA_ObjFactory* pFactory = m_pDocument->GetParser()->GetFactory();
315 CXFA_Node* pClone = pFactory->CreateNode(XFA_XDPPACKET_Form, m_eNodeClass); 315 CXFA_Node* pClone = pFactory->CreateNode(XFA_XDPPACKET_Form, m_eNodeClass);
316 if (!pClone) { 316 if (!pClone) {
(...skipping 314 matching lines...)
631 wsExpression = 631 wsExpression =
632 CFX_WideString::FromUTF8(bsExpression, bsExpression.GetLength()); 632 CFX_WideString::FromUTF8(bsExpression, bsExpression.GetLength());
633 IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); 633 IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
634 if (!pScriptContext) { 634 if (!pScriptContext) {
635 return; 635 return;
636 } 636 }
637 CXFA_Node* refNode = this; 637 CXFA_Node* refNode = this;
638 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) { 638 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) {
639 refNode = ToNode(pScriptContext->GetThisObject()); 639 refNode = ToNode(pScriptContext->GetThisObject());
640 } 640 }
641 FX_DWORD dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | 641 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes |
642 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | 642 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent |
643 XFA_RESOLVENODE_Siblings; 643 XFA_RESOLVENODE_Siblings;
644 XFA_RESOLVENODE_RS resoveNodeRS; 644 XFA_RESOLVENODE_RS resoveNodeRS;
645 int32_t iRet = pScriptContext->ResolveObjects(refNode, wsExpression, 645 int32_t iRet = pScriptContext->ResolveObjects(refNode, wsExpression,
646 resoveNodeRS, dwFlag); 646 resoveNodeRS, dwFlag);
647 if (iRet < 1) { 647 if (iRet < 1) {
648 return FXJSE_Value_SetNull(pArguments->GetReturnValue()); 648 return FXJSE_Value_SetNull(pArguments->GetReturnValue());
649 } 649 }
650 FXJSE_HVALUE hValue = NULL; 650 FXJSE_HVALUE hValue = NULL;
651 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) { 651 if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) {
(...skipping 22 matching lines...)
674 return; 674 return;
675 } 675 }
676 CFX_WideString wsExpression; 676 CFX_WideString wsExpression;
677 CFX_ByteString bsExpression = pArguments->GetUTF8String(0); 677 CFX_ByteString bsExpression = pArguments->GetUTF8String(0);
678 wsExpression = 678 wsExpression =
679 CFX_WideString::FromUTF8(bsExpression, bsExpression.GetLength()); 679 CFX_WideString::FromUTF8(bsExpression, bsExpression.GetLength());
680 FXJSE_HVALUE hValue = pArguments->GetReturnValue(); 680 FXJSE_HVALUE hValue = pArguments->GetReturnValue();
681 if (!hValue) { 681 if (!hValue) {
682 return; 682 return;
683 } 683 }
684 FX_DWORD dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes | 684 uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes |
685 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | 685 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent |
686 XFA_RESOLVENODE_Siblings; 686 XFA_RESOLVENODE_Siblings;
687 CXFA_Node* refNode = this; 687 CXFA_Node* refNode = this;
688 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) { 688 if (refNode->GetClassID() == XFA_ELEMENT_Xfa) {
689 refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject()); 689 refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject());
690 } 690 }
691 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag, refNode); 691 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag, refNode);
692 } 692 }
693 void CXFA_Node::Script_Som_ResolveNodeList(FXJSE_HVALUE hValue, 693 void CXFA_Node::Script_Som_ResolveNodeList(FXJSE_HVALUE hValue,
694 CFX_WideString wsExpression, 694 CFX_WideString wsExpression,
695 FX_DWORD dwFlag, 695 uint32_t dwFlag,
696 CXFA_Node* refNode) { 696 CXFA_Node* refNode) {
697 IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); 697 IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
698 if (!pScriptContext) { 698 if (!pScriptContext) {
699 return; 699 return;
700 } 700 }
701 XFA_RESOLVENODE_RS resoveNodeRS; 701 XFA_RESOLVENODE_RS resoveNodeRS;
702 if (refNode == NULL) { 702 if (refNode == NULL) {
703 refNode = this; 703 refNode = this;
704 } 704 }
705 pScriptContext->ResolveObjects(refNode, wsExpression, resoveNodeRS, dwFlag); 705 pScriptContext->ResolveObjects(refNode, wsExpression, resoveNodeRS, dwFlag);
(...skipping 16 matching lines...)
722 } 722 }
723 FXJSE_Value_SetObject(hValue, (CXFA_Object*)pNodeList, 723 FXJSE_Value_SetObject(hValue, (CXFA_Object*)pNodeList,
724 pScriptContext->GetJseNormalClass()); 724 pScriptContext->GetJseNormalClass());
725 } 725 }
726 void CXFA_Node::Script_TreeClass_All(FXJSE_HVALUE hValue, 726 void CXFA_Node::Script_TreeClass_All(FXJSE_HVALUE hValue,
727 FX_BOOL bSetting, 727 FX_BOOL bSetting,
728 XFA_ATTRIBUTE eAttribute) { 728 XFA_ATTRIBUTE eAttribute) {
729 if (bSetting) { 729 if (bSetting) {
730 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); 730 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
731 } else { 731 } else {
732 FX_DWORD dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; 732 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL;
733 CFX_WideString wsName; 733 CFX_WideString wsName;
734 GetAttribute(XFA_ATTRIBUTE_Name, wsName); 734 GetAttribute(XFA_ATTRIBUTE_Name, wsName);
735 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]"); 735 CFX_WideString wsExpression = wsName + FX_WSTRC(L"[*]");
736 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag); 736 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag);
737 } 737 }
738 } 738 }
739 void CXFA_Node::Script_TreeClass_Nodes(FXJSE_HVALUE hValue, 739 void CXFA_Node::Script_TreeClass_Nodes(FXJSE_HVALUE hValue,
740 FX_BOOL bSetting, 740 FX_BOOL bSetting,
741 XFA_ATTRIBUTE eAttribute) { 741 XFA_ATTRIBUTE eAttribute) {
742 IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext(); 742 IXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
(...skipping 11 matching lines...)
754 FXJSE_Value_SetObject(hValue, (CXFA_Object*)pNodeList, 754 FXJSE_Value_SetObject(hValue, (CXFA_Object*)pNodeList,
755 pScriptContext->GetJseNormalClass()); 755 pScriptContext->GetJseNormalClass());
756 } 756 }
757 } 757 }
758 void CXFA_Node::Script_TreeClass_ClassAll(FXJSE_HVALUE hValue, 758 void CXFA_Node::Script_TreeClass_ClassAll(FXJSE_HVALUE hValue,
759 FX_BOOL bSetting, 759 FX_BOOL bSetting,
760 XFA_ATTRIBUTE eAttribute) { 760 XFA_ATTRIBUTE eAttribute) {
761 if (bSetting) { 761 if (bSetting) {
762 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); 762 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
763 } else { 763 } else {
764 FX_DWORD dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL; 764 uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL;
765 CFX_WideStringC wsName; 765 CFX_WideStringC wsName;
766 GetClassName(wsName); 766 GetClassName(wsName);
767 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]"); 767 CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]");
768 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag); 768 Script_Som_ResolveNodeList(hValue, wsExpression, dwFlag);
769 } 769 }
770 } 770 }
771 void CXFA_Node::Script_TreeClass_Parent(FXJSE_HVALUE hValue, 771 void CXFA_Node::Script_TreeClass_Parent(FXJSE_HVALUE hValue,
772 FX_BOOL bSetting, 772 FX_BOOL bSetting,
773 XFA_ATTRIBUTE eAttribute) { 773 XFA_ATTRIBUTE eAttribute) {
774 if (bSetting) { 774 if (bSetting) {
(...skipping 529 matching lines...)
1304 void* eValue, 1304 void* eValue,
1305 FX_BOOL bScriptModify) { 1305 FX_BOOL bScriptModify) {
1306 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor(); 1306 CXFA_LayoutProcessor* pLayoutPro = m_pDocument->GetLayoutProcessor();
1307 if (!pLayoutPro) { 1307 if (!pLayoutPro) {
1308 return; 1308 return;
1309 } 1309 }
1310 IXFA_Notify* pNotify = m_pDocument->GetParser()->GetNotify(); 1310 IXFA_Notify* pNotify = m_pDocument->GetParser()->GetNotify();
1311 if (!pNotify) { 1311 if (!pNotify) {
1312 return; 1312 return;
1313 } 1313 }
1314 FX_DWORD dwPacket = GetPacketID(); 1314 uint32_t dwPacket = GetPacketID();
1315 if (dwPacket & XFA_XDPPACKET_Form) { 1315 if (dwPacket & XFA_XDPPACKET_Form) {
1316 FX_BOOL bNeedFindContainer = FALSE; 1316 FX_BOOL bNeedFindContainer = FALSE;
1317 XFA_ELEMENT eType = GetClassID(); 1317 XFA_ELEMENT eType = GetClassID();
1318 switch (eType) { 1318 switch (eType) {
1319 case XFA_ELEMENT_Caption: 1319 case XFA_ELEMENT_Caption:
1320 bNeedFindContainer = TRUE; 1320 bNeedFindContainer = TRUE;
1321 pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute, 1321 pNotify->OnNodeEvent(this, XFA_NODEEVENT_ValueChanged, eAttribute,
1322 eValue, this, GetNodeItem(XFA_NODEITEM_Parent)); 1322 eValue, this, GetNodeItem(XFA_NODEITEM_Parent));
1323 break; 1323 break;
1324 case XFA_ELEMENT_Font: 1324 case XFA_ELEMENT_Font:
(...skipping 160 matching lines...)
1485 if (wsUseVal[0] == '#') { 1485 if (wsUseVal[0] == '#') {
1486 wsID = CFX_WideString((const FX_WCHAR*)wsUseVal + 1, 1486 wsID = CFX_WideString((const FX_WCHAR*)wsUseVal + 1,
1487 wsUseVal.GetLength() - 1); 1487 wsUseVal.GetLength() - 1);
1488 } else { 1488 } else {
1489 wsSOM = 1489 wsSOM =
1490 CFX_WideString((const FX_WCHAR*)wsUseVal, wsUseVal.GetLength()); 1490 CFX_WideString((const FX_WCHAR*)wsUseVal, wsUseVal.GetLength());
1491 } 1491 }
1492 } 1492 }
1493 CXFA_Node* pProtoNode = NULL; 1493 CXFA_Node* pProtoNode = NULL;
1494 if (!wsSOM.IsEmpty()) { 1494 if (!wsSOM.IsEmpty()) {
1495 FX_DWORD dwFlag = XFA_RESOLVENODE_Children | 1495 uint32_t dwFlag = XFA_RESOLVENODE_Children |
1496 XFA_RESOLVENODE_Attributes | 1496 XFA_RESOLVENODE_Attributes |
1497 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent | 1497 XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent |
1498 XFA_RESOLVENODE_Siblings; 1498 XFA_RESOLVENODE_Siblings;
1499 XFA_RESOLVENODE_RS resoveNodeRS; 1499 XFA_RESOLVENODE_RS resoveNodeRS;
1500 int32_t iRet = m_pDocument->GetScriptContext()->ResolveObjects( 1500 int32_t iRet = m_pDocument->GetScriptContext()->ResolveObjects(
1501 pProtoRoot, wsSOM, resoveNodeRS, dwFlag); 1501 pProtoRoot, wsSOM, resoveNodeRS, dwFlag);
1502 if (iRet > 0 && resoveNodeRS.nodes[0]->IsNode()) { 1502 if (iRet > 0 && resoveNodeRS.nodes[0]->IsNode()) {
1503 pProtoNode = resoveNodeRS.nodes[0]->AsNode(); 1503 pProtoNode = resoveNodeRS.nodes[0]->AsNode();
1504 } 1504 }
1505 } else if (!wsID.IsEmpty()) { 1505 } else if (!wsID.IsEmpty()) {
(...skipping 978 matching lines...)
2484 } 2484 }
2485 } else { 2485 } else {
2486 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, 2486 ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD,
2487 L"execValidate"); 2487 L"execValidate");
2488 } 2488 }
2489 } 2489 }
2490 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode, 2490 static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode,
2491 int32_t iIndex) { 2491 int32_t iIndex) {
2492 ASSERT(pInstMgrNode); 2492 ASSERT(pInstMgrNode);
2493 int32_t iCount = 0; 2493 int32_t iCount = 0;
2494 FX_DWORD dwNameHash = 0; 2494 uint32_t dwNameHash = 0;
2495 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); 2495 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling);
2496 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 2496 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
2497 XFA_ELEMENT eCurType = pNode->GetClassID(); 2497 XFA_ELEMENT eCurType = pNode->GetClassID();
2498 if (eCurType == XFA_ELEMENT_InstanceManager) { 2498 if (eCurType == XFA_ELEMENT_InstanceManager) {
2499 break; 2499 break;
2500 } 2500 }
2501 if ((eCurType != XFA_ELEMENT_Subform) && 2501 if ((eCurType != XFA_ELEMENT_Subform) &&
2502 (eCurType != XFA_ELEMENT_SubformSet)) { 2502 (eCurType != XFA_ELEMENT_SubformSet)) {
2503 continue; 2503 continue;
2504 } 2504 }
(...skipping 309 matching lines...)
2814 if (bSetting) { 2814 if (bSetting) {
2815 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET); 2815 ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
2816 return; 2816 return;
2817 } 2817 }
2818 CXFA_Occur nodeOccur(GetOccurNode()); 2818 CXFA_Occur nodeOccur(GetOccurNode());
2819 FXJSE_Value_SetInteger(hValue, nodeOccur.GetMin()); 2819 FXJSE_Value_SetInteger(hValue, nodeOccur.GetMin());
2820 } 2820 }
2821 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) { 2821 static int32_t XFA_ScriptInstanceManager_GetCount(CXFA_Node* pInstMgrNode) {
2822 ASSERT(pInstMgrNode); 2822 ASSERT(pInstMgrNode);
2823 int32_t iCount = 0; 2823 int32_t iCount = 0;
2824 FX_DWORD dwNameHash = 0; 2824 uint32_t dwNameHash = 0;
2825 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling); 2825 for (CXFA_Node* pNode = pInstMgrNode->GetNodeItem(XFA_NODEITEM_NextSibling);
2826 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 2826 pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
2827 XFA_ELEMENT eCurType = pNode->GetClassID(); 2827 XFA_ELEMENT eCurType = pNode->GetClassID();
2828 if (eCurType == XFA_ELEMENT_InstanceManager) { 2828 if (eCurType == XFA_ELEMENT_InstanceManager) {
2829 break; 2829 break;
2830 } 2830 }
2831 if ((eCurType != XFA_ELEMENT_Subform) && 2831 if ((eCurType != XFA_ELEMENT_Subform) &&
2832 (eCurType != XFA_ELEMENT_SubformSet)) { 2832 (eCurType != XFA_ELEMENT_SubformSet)) {
2833 continue; 2833 continue;
2834 } 2834 }
(...skipping 41 matching lines...)
2876 } 2876 }
2877 } 2877 }
2878 struct CXFA_DualNodeArray { 2878 struct CXFA_DualNodeArray {
2879 CXFA_NodeSet firstNodeList; 2879 CXFA_NodeSet firstNodeList;
2880 CXFA_NodeSet secondNodeList; 2880 CXFA_NodeSet secondNodeList;
2881 }; 2881 };
2882 static void XFA_ScriptInstanceManager_ReorderDataNodes(CXFA_NodeSet& sSet1, 2882 static void XFA_ScriptInstanceManager_ReorderDataNodes(CXFA_NodeSet& sSet1,
2883 CXFA_NodeSet& sSet2, 2883 CXFA_NodeSet& sSet2,
2884 FX_BOOL bInsertBefore) { 2884 FX_BOOL bInsertBefore) {
2885 CFX_MapPtrTemplate<CXFA_Node*, 2885 CFX_MapPtrTemplate<CXFA_Node*,
2886 CFX_MapPtrTemplate<FX_DWORD, CXFA_DualNodeArray*>*> 2886 CFX_MapPtrTemplate<uint32_t, CXFA_DualNodeArray*>*>
2887 rgNodeListMap; 2887 rgNodeListMap;
2888 FX_POSITION pos; 2888 FX_POSITION pos;
2889 pos = sSet1.GetStartPosition(); 2889 pos = sSet1.GetStartPosition();
2890 while (pos) { 2890 while (pos) {
2891 CXFA_Node* pNode = NULL; 2891 CXFA_Node* pNode = NULL;
2892 sSet1.GetNextAssoc(pos, pNode); 2892 sSet1.GetNextAssoc(pos, pNode);
2893 CXFA_Node* pParentNode = pNode->GetNodeItem(XFA_NODEITEM_Parent); 2893 CXFA_Node* pParentNode = pNode->GetNodeItem(XFA_NODEITEM_Parent);
2894 FX_DWORD dwNameHash = pNode->GetNameHash(); 2894 uint32_t dwNameHash = pNode->GetNameHash();
2895 if (!pParentNode || !dwNameHash) { 2895 if (!pParentNode || !dwNameHash) {
2896 continue; 2896 continue;
2897 } 2897 }
2898 CFX_MapPtrTemplate<FX_DWORD, CXFA_DualNodeArray*>* pNodeListChildMap = 2898 CFX_MapPtrTemplate<uint32_t, CXFA_DualNodeArray*>* pNodeListChildMap =
2899 rgNodeListMap[pParentNode]; 2899 rgNodeListMap[pParentNode];
2900 if (!pNodeListChildMap) { 2900 if (!pNodeListChildMap) {
2901 rgNodeListMap[pParentNode] = pNodeListChildMap = 2901 rgNodeListMap[pParentNode] = pNodeListChildMap =
2902 new CFX_MapPtrTemplate<FX_DWORD, CXFA_DualNodeArray*>; 2902 new CFX_MapPtrTemplate<uint32_t, CXFA_DualNodeArray*>;
2903 } 2903 }
2904 CXFA_DualNodeArray* pDualNodeArray = (*pNodeListChildMap)[dwNameHash]; 2904 CXFA_DualNodeArray* pDualNodeArray = (*pNodeListChildMap)[dwNameHash];
2905 if (!pDualNodeArray) { 2905 if (!pDualNodeArray) {
2906 (*pNodeListChildMap)[dwNameHash] = pDualNodeArray = 2906 (*pNodeListChildMap)[dwNameHash] = pDualNodeArray =
2907 new CXFA_DualNodeArray; 2907 new CXFA_DualNodeArray;
2908 } 2908 }
2909 pDualNodeArray->firstNodeList.Add(pNode); 2909 pDualNodeArray->firstNodeList.Add(pNode);
2910 } 2910 }
2911 pos = sSet2.GetStartPosition(); 2911 pos = sSet2.GetStartPosition();
2912 while (pos) { 2912 while (pos) {
2913 CXFA_Node* pNode = NULL; 2913 CXFA_Node* pNode = NULL;
2914 sSet2.GetNextAssoc(pos, pNode); 2914 sSet2.GetNextAssoc(pos, pNode);
2915 CXFA_Node* pParentNode = pNode->GetNodeItem(XFA_NODEITEM_Parent); 2915 CXFA_Node* pParentNode = pNode->GetNodeItem(XFA_NODEITEM_Parent);
2916 FX_DWORD dwNameHash = pNode->GetNameHash(); 2916 uint32_t dwNameHash = pNode->GetNameHash();
2917 if (!pParentNode || !dwNameHash) { 2917 if (!pParentNode || !dwNameHash) {
2918 continue; 2918 continue;
2919 } 2919 }
2920 CFX_MapPtrTemplate<FX_DWORD, CXFA_DualNodeArray*>* pNodeListChildMap = 2920 CFX_MapPtrTemplate<uint32_t, CXFA_DualNodeArray*>* pNodeListChildMap =
2921 rgNodeListMap[pParentNode]; 2921 rgNodeListMap[pParentNode];
2922 if (!pNodeListChildMap) { 2922 if (!pNodeListChildMap) {
2923 rgNodeListMap[pParentNode] = pNodeListChildMap = 2923 rgNodeListMap[pParentNode] = pNodeListChildMap =
2924 new CFX_MapPtrTemplate<FX_DWORD, CXFA_DualNodeArray*>; 2924 new CFX_MapPtrTemplate<uint32_t, CXFA_DualNodeArray*>;
2925 } 2925 }
2926 CXFA_DualNodeArray* pDualNodeArray = (*pNodeListChildMap)[dwNameHash]; 2926 CXFA_DualNodeArray* pDualNodeArray = (*pNodeListChildMap)[dwNameHash];
2927 if (!pDualNodeArray) { 2927 if (!pDualNodeArray) {
2928 (*pNodeListChildMap)[dwNameHash] = pDualNodeArray = 2928 (*pNodeListChildMap)[dwNameHash] = pDualNodeArray =
2929 new CXFA_DualNodeArray; 2929 new CXFA_DualNodeArray;
2930 } 2930 }
2931 if (pDualNodeArray->firstNodeList.Lookup(pNode)) { 2931 if (pDualNodeArray->firstNodeList.Lookup(pNode)) {
2932 pDualNodeArray->firstNodeList.RemoveKey(pNode); 2932 pDualNodeArray->firstNodeList.RemoveKey(pNode);
2933 } else { 2933 } else {
2934 pDualNodeArray->secondNodeList.Add(pNode); 2934 pDualNodeArray->secondNodeList.Add(pNode);
2935 } 2935 }
2936 } 2936 }
2937 pos = rgNodeListMap.GetStartPosition(); 2937 pos = rgNodeListMap.GetStartPosition();
2938 while (pos) { 2938 while (pos) {
2939 CXFA_Node* pParentNode = NULL; 2939 CXFA_Node* pParentNode = NULL;
2940 CFX_MapPtrTemplate<FX_DWORD, CXFA_DualNodeArray*>* pNodeListChildMap = NULL; 2940 CFX_MapPtrTemplate<uint32_t, CXFA_DualNodeArray*>* pNodeListChildMap = NULL;
2941 rgNodeListMap.GetNextAssoc(pos, pParentNode, pNodeListChildMap); 2941 rgNodeListMap.GetNextAssoc(pos, pParentNode, pNodeListChildMap);
2942 if (!pNodeListChildMap) { 2942 if (!pNodeListChildMap) {
2943 continue; 2943 continue;
2944 } 2944 }
2945 FX_POSITION childpos = pNodeListChildMap->GetStartPosition(); 2945 FX_POSITION childpos = pNodeListChildMap->GetStartPosition();
2946 while (childpos) { 2946 while (childpos) {
2947 FX_DWORD dwNameHash = 0; 2947 uint32_t dwNameHash = 0;
2948 CXFA_DualNodeArray* pDualNodeArray = NULL; 2948 CXFA_DualNodeArray* pDualNodeArray = NULL;
2949 pNodeListChildMap->GetNextAssoc(childpos, dwNameHash, pDualNodeArray); 2949 pNodeListChildMap->GetNextAssoc(childpos, dwNameHash, pDualNodeArray);
2950 if (!pDualNodeArray) { 2950 if (!pDualNodeArray) {
2951 continue; 2951 continue;
2952 } 2952 }
2953 if (pDualNodeArray->firstNodeList.GetCount() != 0 && 2953 if (pDualNodeArray->firstNodeList.GetCount() != 0 &&
2954 pDualNodeArray->secondNodeList.GetCount() != 0) { 2954 pDualNodeArray->secondNodeList.GetCount() != 0) {
2955 CXFA_NodeArray rgNodeArray1, rgNodeArray2; 2955 CXFA_NodeArray rgNodeArray1, rgNodeArray2;
2956 CFX_ArrayTemplate<int32_t> rgIdxArray1, rgIdxArray2; 2956 CFX_ArrayTemplate<int32_t> rgIdxArray1, rgIdxArray2;
2957 XFA_ScriptInstanceManager_ReorderDataNodes_SortNodeArrayByDocumentIdx( 2957 XFA_ScriptInstanceManager_ReorderDataNodes_SortNodeArrayByDocumentIdx(
(...skipping 329 matching lines...)
3287 } 3287 }
3288 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this); 3288 int32_t iCount = XFA_ScriptInstanceManager_GetCount(this);
3289 if (iDesired == iCount) { 3289 if (iDesired == iCount) {
3290 return 0; 3290 return 0;
3291 } 3291 }
3292 if (iDesired < iCount) { 3292 if (iDesired < iCount) {
3293 CFX_WideStringC wsInstManagerName = GetCData(XFA_ATTRIBUTE_Name); 3293 CFX_WideStringC wsInstManagerName = GetCData(XFA_ATTRIBUTE_Name);
3294 CFX_WideString wsInstanceName = wsInstManagerName.IsEmpty() 3294 CFX_WideString wsInstanceName = wsInstManagerName.IsEmpty()
3295 ? wsInstManagerName 3295 ? wsInstManagerName
3296 : wsInstManagerName.Mid(1); 3296 : wsInstManagerName.Mid(1);
3297 FX_DWORD dInstanceNameHash = 3297 uint32_t dInstanceNameHash =
3298 wsInstanceName.IsEmpty() ? 0 : FX_HashCode_String_GetW( 3298 wsInstanceName.IsEmpty() ? 0 : FX_HashCode_String_GetW(
3299 wsInstanceName, 3299 wsInstanceName,
3300 wsInstanceName.GetLength()); 3300 wsInstanceName.GetLength());
3301 CXFA_Node* pPrevSibling = 3301 CXFA_Node* pPrevSibling =
3302 (iDesired == 0) ? this 3302 (iDesired == 0) ? this
3303 : XFA_ScriptInstanceManager_GetItem(this, iDesired - 1); 3303 : XFA_ScriptInstanceManager_GetItem(this, iDesired - 1);
3304 while (iCount > iDesired) { 3304 while (iCount > iDesired) {
3305 CXFA_Node* pRemoveInstance = 3305 CXFA_Node* pRemoveInstance =
3306 pPrevSibling->GetNodeItem(XFA_NODEITEM_NextSibling); 3306 pPrevSibling->GetNodeItem(XFA_NODEITEM_NextSibling);
3307 if (pRemoveInstance->GetClassID() != XFA_ELEMENT_Subform && 3307 if (pRemoveInstance->GetClassID() != XFA_ELEMENT_Subform &&
(...skipping 418 matching lines...)
3726 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(FX_WSTRC(L"0"))); 3726 FXJSE_Value_SetUTF8String(hValue, FX_UTF8Encode(FX_WSTRC(L"0")));
3727 } 3727 }
3728 void CXFA_Node::Script_Encrypt_Format(FXJSE_HVALUE hValue, 3728 void CXFA_Node::Script_Encrypt_Format(FXJSE_HVALUE hValue,
3729 FX_BOOL bSetting, 3729 FX_BOOL bSetting,
3730 XFA_ATTRIBUTE eAttribute) {} 3730 XFA_ATTRIBUTE eAttribute) {}
3731 enum XFA_KEYTYPE { 3731 enum XFA_KEYTYPE {
3732 XFA_KEYTYPE_Custom, 3732 XFA_KEYTYPE_Custom,
3733 XFA_KEYTYPE_Element, 3733 XFA_KEYTYPE_Element,
3734 }; 3734 };
3735 void* XFA_GetMapKey_Custom(const CFX_WideStringC& wsKey) { 3735 void* XFA_GetMapKey_Custom(const CFX_WideStringC& wsKey) {
3736 FX_DWORD dwKey = FX_HashCode_String_GetW(wsKey.GetPtr(), wsKey.GetLength()); 3736 uint32_t dwKey = FX_HashCode_String_GetW(wsKey.GetPtr(), wsKey.GetLength());
3737 return (void*)(uintptr_t)((dwKey << 1) | XFA_KEYTYPE_Custom); 3737 return (void*)(uintptr_t)((dwKey << 1) | XFA_KEYTYPE_Custom);
3738 } 3738 }
3739 void* XFA_GetMapKey_Element(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute) { 3739 void* XFA_GetMapKey_Element(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute) {
3740 return (void*)(uintptr_t)((eElement << 16) | (eAttribute << 8) | 3740 return (void*)(uintptr_t)((eElement << 16) | (eAttribute << 8) |
3741 XFA_KEYTYPE_Element); 3741 XFA_KEYTYPE_Element);
3742 } 3742 }
3743 FX_BOOL CXFA_Node::HasAttribute(XFA_ATTRIBUTE eAttr, FX_BOOL bCanInherit) { 3743 FX_BOOL CXFA_Node::HasAttribute(XFA_ATTRIBUTE eAttr, FX_BOOL bCanInherit) {
3744 void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr); 3744 void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr);
3745 return HasMapModuleKey(pKey, bCanInherit); 3745 return HasMapModuleKey(pKey, bCanInherit);
3746 } 3746 }
(...skipping 741 matching lines...)
4488 return TRUE; 4488 return TRUE;
4489 } else { 4489 } else {
4490 CXFA_Node* pModelNode = GetModelNode(); 4490 CXFA_Node* pModelNode = GetModelNode();
4491 return pModelNode->TryNamespace(wsNamespace); 4491 return pModelNode->TryNamespace(wsNamespace);
4492 } 4492 }
4493 } 4493 }
4494 CXFA_Node* CXFA_Node::GetProperty(int32_t index, 4494 CXFA_Node* CXFA_Node::GetProperty(int32_t index,
4495 XFA_ELEMENT eProperty, 4495 XFA_ELEMENT eProperty,
4496 FX_BOOL bCreateProperty) { 4496 FX_BOOL bCreateProperty) {
4497 XFA_ELEMENT eElement = GetClassID(); 4497 XFA_ELEMENT eElement = GetClassID();
4498 FX_DWORD dwPacket = GetPacketID(); 4498 uint32_t dwPacket = GetPacketID();
4499 const XFA_PROPERTY* pProperty = 4499 const XFA_PROPERTY* pProperty =
4500 XFA_GetPropertyOfElement(eElement, eProperty, dwPacket); 4500 XFA_GetPropertyOfElement(eElement, eProperty, dwPacket);
4501 if (pProperty == NULL || index >= pProperty->uOccur) { 4501 if (pProperty == NULL || index >= pProperty->uOccur) {
4502 return NULL; 4502 return NULL;
4503 } 4503 }
4504 CXFA_Node* pNode = m_pChild; 4504 CXFA_Node* pNode = m_pChild;
4505 int32_t iCount = 0; 4505 int32_t iCount = 0;
4506 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 4506 for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
4507 if (pNode->GetClassID() == eProperty) { 4507 if (pNode->GetClassID() == eProperty) {
4508 iCount++; 4508 iCount++;
(...skipping 221 matching lines...)
4730 } 4730 }
4731 pNode->SetFlag(XFA_NODEFLAG_OwnXMLNode, TRUE, FALSE); 4731 pNode->SetFlag(XFA_NODEFLAG_OwnXMLNode, TRUE, FALSE);
4732 } 4732 }
4733 return TRUE; 4733 return TRUE;
4734 } 4734 }
4735 CXFA_Node* CXFA_Node::GetFirstChildByName(const CFX_WideStringC& wsName) const { 4735 CXFA_Node* CXFA_Node::GetFirstChildByName(const CFX_WideStringC& wsName) const {
4736 return GetFirstChildByName( 4736 return GetFirstChildByName(
4737 wsName.IsEmpty() ? 0 : FX_HashCode_String_GetW(wsName.GetPtr(), 4737 wsName.IsEmpty() ? 0 : FX_HashCode_String_GetW(wsName.GetPtr(),
4738 wsName.GetLength())); 4738 wsName.GetLength()));
4739 } 4739 }
4740 CXFA_Node* CXFA_Node::GetFirstChildByName(FX_DWORD dwNameHash) const { 4740 CXFA_Node* CXFA_Node::GetFirstChildByName(uint32_t dwNameHash) const {
4741 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode; 4741 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode;
4742 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 4742 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
4743 if (pNode->GetNameHash() == dwNameHash) { 4743 if (pNode->GetNameHash() == dwNameHash) {
4744 return pNode; 4744 return pNode;
4745 } 4745 }
4746 } 4746 }
4747 return NULL; 4747 return NULL;
4748 } 4748 }
4749 CXFA_Node* CXFA_Node::GetFirstChildByClass(XFA_ELEMENT eElement) const { 4749 CXFA_Node* CXFA_Node::GetFirstChildByClass(XFA_ELEMENT eElement) const {
4750 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode; 4750 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode;
4751 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 4751 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
4752 if (pNode->GetClassID() == eElement) { 4752 if (pNode->GetClassID() == eElement) {
4753 return pNode; 4753 return pNode;
4754 } 4754 }
4755 } 4755 }
4756 return NULL; 4756 return NULL;
4757 } 4757 }
4758 CXFA_Node* CXFA_Node::GetNextSameNameSibling(FX_DWORD dwNameHash) const { 4758 CXFA_Node* CXFA_Node::GetNextSameNameSibling(uint32_t dwNameHash) const {
4759 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode; 4759 for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode;
4760 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) { 4760 pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
4761 if (pNode->GetNameHash() == dwNameHash) { 4761 if (pNode->GetNameHash() == dwNameHash) {
4762 return pNode; 4762 return pNode;
4763 } 4763 }
4764 } 4764 }
4765 return NULL; 4765 return NULL;
4766 } 4766 }
4767 CXFA_Node* CXFA_Node::GetNextSameNameSibling( 4767 CXFA_Node* CXFA_Node::GetNextSameNameSibling(
4768 const CFX_WideStringC& wsNodeName) const { 4768 const CFX_WideStringC& wsNodeName) const {
(...skipping 55 matching lines...)
4824 } 4824 }
4825 break; 4825 break;
4826 } 4826 }
4827 } 4827 }
4828 } 4828 }
4829 return pInstanceMgr; 4829 return pInstanceMgr;
4830 } 4830 }
4831 CXFA_Node* CXFA_Node::GetOccurNode() { 4831 CXFA_Node* CXFA_Node::GetOccurNode() {
4832 return GetFirstChildByClass(XFA_ELEMENT_Occur); 4832 return GetFirstChildByClass(XFA_ELEMENT_Occur);
4833 } 4833 }
4834 FX_BOOL CXFA_Node::HasFlag(FX_DWORD dwFlag) const { 4834 FX_BOOL CXFA_Node::HasFlag(uint32_t dwFlag) const {
4835 if (m_uFlags & dwFlag) { 4835 if (m_uFlags & dwFlag) {
4836 return TRUE; 4836 return TRUE;
4837 } 4837 }
4838 switch (dwFlag) { 4838 switch (dwFlag) {
4839 case XFA_NODEFLAG_HasRemoved: 4839 case XFA_NODEFLAG_HasRemoved:
4840 return m_pParent && m_pParent->HasFlag(dwFlag); 4840 return m_pParent && m_pParent->HasFlag(dwFlag);
4841 default: 4841 default:
4842 break; 4842 break;
4843 } 4843 }
4844 return FALSE; 4844 return FALSE;
4845 } 4845 }
4846 void CXFA_Node::SetFlag(FX_DWORD dwFlag, FX_BOOL bOn, FX_BOOL bNotify) { 4846 void CXFA_Node::SetFlag(uint32_t dwFlag, FX_BOOL bOn, FX_BOOL bNotify) {
4847 if (bOn) { 4847 if (bOn) {
4848 switch (dwFlag) { 4848 switch (dwFlag) {
4849 case XFA_NODEFLAG_Initialized: 4849 case XFA_NODEFLAG_Initialized:
4850 if (bNotify && !HasFlag(XFA_NODEFLAG_Initialized)) { 4850 if (bNotify && !HasFlag(XFA_NODEFLAG_Initialized)) {
4851 IXFA_Notify* pNotify = m_pDocument->GetParser()->GetNotify(); 4851 IXFA_Notify* pNotify = m_pDocument->GetParser()->GetNotify();
4852 if (pNotify) { 4852 if (pNotify) {
4853 pNotify->OnNodeEvent(this, XFA_NODEEVENT_Ready); 4853 pNotify->OnNodeEvent(this, XFA_NODEEVENT_Ready);
4854 } 4854 }
4855 } 4855 }
4856 break; 4856 break;
(...skipping 377 matching lines...)
5234 } 5234 }
5235 } 5235 }
5236 pSrcModule->MoveBufferMapData(pDstModule, pKey); 5236 pSrcModule->MoveBufferMapData(pDstModule, pKey);
5237 } 5237 }
5238 CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument) 5238 CXFA_NodeList::CXFA_NodeList(CXFA_Document* pDocument)
5239 : CXFA_Object(pDocument, XFA_OBJECTTYPE_NodeList) { 5239 : CXFA_Object(pDocument, XFA_OBJECTTYPE_NodeList) {
5240 m_pDocument->GetScriptContext()->CacheList(this); 5240 m_pDocument->GetScriptContext()->CacheList(this);
5241 } 5241 }
5242 CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) { 5242 CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) {
5243 int32_t iCount = GetLength(); 5243 int32_t iCount = GetLength();
5244 FX_DWORD dwHashCode = 5244 uint32_t dwHashCode =
5245 FX_HashCode_String_GetW(wsName.GetPtr(), wsName.GetLength()); 5245 FX_HashCode_String_GetW(wsName.GetPtr(), wsName.GetLength());
5246 for (int32_t i = 0; i < iCount; i++) { 5246 for (int32_t i = 0; i < iCount; i++) {
5247 CXFA_Node* ret = Item(i); 5247 CXFA_Node* ret = Item(i);
5248 if (dwHashCode == ret->GetNameHash()) { 5248 if (dwHashCode == ret->GetNameHash()) {
5249 return ret; 5249 return ret;
5250 } 5250 }
5251 } 5251 }
5252 return NULL; 5252 return NULL;
5253 } 5253 }
5254 void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) { 5254 void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) {
(...skipping 147 matching lines...)
5402 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode); 5402 return m_pAttachNode->InsertChild(pNewNode, pBeforeNode);
5403 } 5403 }
5404 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { 5404 FX_BOOL CXFA_AttachNodeList::Remove(CXFA_Node* pNode) {
5405 return m_pAttachNode->RemoveChild(pNode); 5405 return m_pAttachNode->RemoveChild(pNode);
5406 } 5406 }
5407 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { 5407 CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) {
5408 return m_pAttachNode->GetChild( 5408 return m_pAttachNode->GetChild(
5409 iIndex, XFA_ELEMENT_UNKNOWN, 5409 iIndex, XFA_ELEMENT_UNKNOWN,
5410 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform); 5410 m_pAttachNode->GetClassID() == XFA_ELEMENT_Subform);
5411 } 5411 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_localevalue.cpp ('k') | xfa/fxfa/parser/xfa_objectacc_imp.cpp » ('j') | no next file with comments »

Powered by Google App Engine