Index: xfa/fxfa/parser/xfa_object_imp.cpp |
diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp |
index 99198d24f5b532a3f353bc44b2b32efff3128295..5ada3bd1978e6fdd5353a8cc5895446558ce61c1 100644 |
--- a/xfa/fxfa/parser/xfa_object_imp.cpp |
+++ b/xfa/fxfa/parser/xfa_object_imp.cpp |
@@ -21,7 +21,6 @@ |
#include "xfa/fxfa/parser/xfa_document.h" |
#include "xfa/fxfa/parser/xfa_document_layout_imp.h" |
#include "xfa/fxfa/parser/xfa_localemgr.h" |
-#include "xfa/fxfa/parser/xfa_parser.h" |
#include "xfa/fxfa/parser/xfa_parser_imp.h" |
#include "xfa/fxfa/parser/xfa_script.h" |
#include "xfa/fxfa/parser/xfa_script_imp.h" |
@@ -136,8 +135,7 @@ CXFA_Node::~CXFA_Node() { |
} |
CXFA_Node* CXFA_Node::Clone(FX_BOOL bRecursive) { |
- CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
- CXFA_Node* pClone = pFactory->CreateNode(m_ePacket, m_elementType); |
+ CXFA_Node* pClone = m_pDocument->CreateNode(m_ePacket, m_elementType); |
if (!pClone) |
return nullptr; |
@@ -295,10 +293,9 @@ int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes, |
return 0; |
for (int32_t i = 0; i < iProperties; i++) { |
if (pProperty[i].uFlags & XFA_PROPERTYFLAG_DefaultOneOf) { |
- CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
const XFA_PACKETINFO* pPacket = XFA_GetPacketByID(GetPacketID()); |
CXFA_Node* pNewNode = |
- pFactory->CreateNode(pPacket, pProperty[i].eName); |
+ m_pDocument->CreateNode(pPacket, pProperty[i].eName); |
if (!pNewNode) |
break; |
InsertChild(pNewNode, nullptr); |
@@ -314,16 +311,15 @@ int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes, |
CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_Element eType, |
uint32_t dwFlags) { |
- CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
- CXFA_Node* pNode = pFactory->CreateNode(m_ePacket, eType); |
+ CXFA_Node* pNode = m_pDocument->CreateNode(m_ePacket, eType); |
pNode->SetFlag(dwFlags, true); |
return pNode; |
} |
CXFA_Node* CXFA_Node::CloneTemplateToForm(FX_BOOL bRecursive) { |
ASSERT(m_ePacket == XFA_XDPPACKET_Template); |
- CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
- CXFA_Node* pClone = pFactory->CreateNode(XFA_XDPPACKET_Form, m_elementType); |
+ CXFA_Node* pClone = |
+ m_pDocument->CreateNode(XFA_XDPPACKET_Form, m_elementType); |
if (!pClone) |
return nullptr; |
@@ -938,8 +934,8 @@ void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) { |
bIgnoreRoot = !!pArguments->GetInt32(1); |
if (iLength >= 3) |
bOverwrite = !!pArguments->GetInt32(2); |
- std::unique_ptr<IXFA_Parser, ReleaseDeleter<IXFA_Parser>> pParser( |
- IXFA_Parser::Create(m_pDocument)); |
+ std::unique_ptr<CXFA_SimpleParser> pParser( |
+ new CXFA_SimpleParser(m_pDocument, false)); |
if (!pParser) |
return; |
CFDE_XMLNode* pXMLNode = nullptr; |
@@ -1265,7 +1261,7 @@ void CXFA_Node::Script_Attribute_SendAttributeChangeMessage( |
if (!pLayoutPro) |
return; |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) |
return; |
@@ -1541,7 +1537,7 @@ void CXFA_Node::Script_Som_Message(CFXJSE_Value* pValue, |
break; |
} |
if (!bNew) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2105,7 +2101,7 @@ void CXFA_Node::Script_Field_ExecEvent(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Field_ExecInitialize(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2192,7 +2188,7 @@ void CXFA_Node::Script_Field_GetItemState(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Field_ExecCalculate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2270,7 +2266,7 @@ void CXFA_Node::Script_Field_AddItem(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Field_ExecValidate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
pArguments->GetReturnValue()->SetBoolean(FALSE); |
} else { |
@@ -2359,7 +2355,7 @@ void CXFA_Node::Script_ExclGroup_SelectedMember(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_ExclGroup_ExecInitialize(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2371,7 +2367,7 @@ void CXFA_Node::Script_ExclGroup_ExecInitialize(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_ExclGroup_ExecCalculate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2383,7 +2379,7 @@ void CXFA_Node::Script_ExclGroup_ExecCalculate(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_ExclGroup_ExecValidate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
pArguments->GetReturnValue()->SetBoolean(FALSE); |
} else { |
@@ -2445,7 +2441,7 @@ void CXFA_Node::Script_Som_InstanceIndex(CFXJSE_Value* pValue, |
} |
if (pManagerNode) { |
pManagerNode->InstanceManager_MoveInstance(iTo, iFrom); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2520,7 +2516,7 @@ void CXFA_Node::Script_Subform_ExecEvent(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2532,7 +2528,7 @@ void CXFA_Node::Script_Subform_ExecInitialize(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Subform_ExecCalculate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -2544,7 +2540,7 @@ void CXFA_Node::Script_Subform_ExecCalculate(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Subform_ExecValidate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
pArguments->GetReturnValue()->SetBoolean(FALSE); |
} else { |
@@ -3006,7 +3002,7 @@ void CXFA_Node::Script_InstanceManager_MoveInstance( |
int32_t iFrom = pArguments->GetInt32(0); |
int32_t iTo = pArguments->GetInt32(1); |
InstanceManager_MoveInstance(iTo, iFrom); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -3041,7 +3037,7 @@ void CXFA_Node::Script_InstanceManager_RemoveInstance( |
} |
CXFA_Node* pRemoveInstance = XFA_ScriptInstanceManager_GetItem(this, iIndex); |
XFA_ScriptInstanceManager_RemoveItem(this, pRemoveInstance); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (pNotify) { |
for (int32_t i = iIndex; i < iCount - 1; i++) { |
CXFA_Node* pSubformInstance = XFA_ScriptInstanceManager_GetItem(this, i); |
@@ -3092,7 +3088,7 @@ void CXFA_Node::Script_InstanceManager_AddInstance( |
FALSE); |
pArguments->GetReturnValue()->Assign( |
m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -3133,7 +3129,7 @@ void CXFA_Node::Script_InstanceManager_InsertInstance( |
TRUE); |
pArguments->GetReturnValue()->Assign( |
m_pDocument->GetScriptContext()->GetJSValueFromMap(pNewInstance)); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -3194,7 +3190,7 @@ int32_t CXFA_Node::InstanceManager_SetInstances(int32_t iDesired) { |
XFA_ScriptInstanceManager_InsertItem(this, pNewInstance, iCount, iCount, |
FALSE); |
iCount++; |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return 0; |
} |
@@ -3286,7 +3282,7 @@ void CXFA_Node::Script_Form_Remerge(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Form_ExecInitialize(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -3305,7 +3301,7 @@ void CXFA_Node::Script_Form_Recalculate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 1) { |
const bool bScriptFlags = pArguments->GetInt32(0) != 0; |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -3322,7 +3318,7 @@ void CXFA_Node::Script_Form_Recalculate(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Form_ExecCalculate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return; |
} |
@@ -3334,7 +3330,7 @@ void CXFA_Node::Script_Form_ExecCalculate(CFXJSE_Arguments* pArguments) { |
void CXFA_Node::Script_Form_ExecValidate(CFXJSE_Arguments* pArguments) { |
int32_t argc = pArguments->GetLength(); |
if (argc == 0) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
pArguments->GetReturnValue()->SetBoolean(FALSE); |
} else { |
@@ -4375,11 +4371,11 @@ CXFA_Node* CXFA_Node::GetProperty(int32_t index, |
return nullptr; |
} |
} |
- CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory(); |
+ |
const XFA_PACKETINFO* pPacket = XFA_GetPacketByID(dwPacket); |
CXFA_Node* pNewNode = nullptr; |
for (; iCount <= index; iCount++) { |
- pNewNode = pFactory->CreateNode(pPacket, eProperty); |
+ pNewNode = m_pDocument->CreateNode(pPacket, eProperty); |
if (!pNewNode) |
return nullptr; |
InsertChild(pNewNode, nullptr); |
@@ -4462,7 +4458,7 @@ int32_t CXFA_Node::InsertChild(int32_t index, CXFA_Node* pNode) { |
ASSERT(m_pLastChild); |
ASSERT(!m_pLastChild->m_pNext); |
pNode->ClearFlag(XFA_NodeFlag_HasRemovedChildren); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (pNotify) |
pNotify->OnChildAdded(this); |
@@ -4509,7 +4505,7 @@ FX_BOOL CXFA_Node::InsertChild(CXFA_Node* pNode, CXFA_Node* pBeforeNode) { |
ASSERT(m_pLastChild); |
ASSERT(!m_pLastChild->m_pNext); |
pNode->ClearFlag(XFA_NodeFlag_HasRemovedChildren); |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (pNotify) |
pNotify->OnChildAdded(this); |
@@ -4688,7 +4684,7 @@ bool CXFA_Node::HasFlag(XFA_NodeFlag dwFlag) const { |
void CXFA_Node::SetFlag(uint32_t dwFlag, bool bNotify) { |
if (dwFlag == XFA_NodeFlag_Initialized && bNotify && !IsInitialized()) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (pNotify) { |
pNotify->OnNodeReady(this); |
} |
@@ -4708,14 +4704,14 @@ void CXFA_Node::OnRemoved(bool bNotify) { |
if (!bNotify) |
return; |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (pNotify) |
pNotify->OnChildRemoved(); |
} |
void CXFA_Node::OnChanging(XFA_ATTRIBUTE eAttr, bool bNotify) { |
if (bNotify && IsInitialized()) { |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (pNotify) { |
pNotify->OnValueChanging(this, eAttr); |
} |
@@ -4737,7 +4733,7 @@ int32_t CXFA_Node::execSingleEventByName(const CFX_WideStringC& wsEventName, |
GetEventParaInfoByName(wsEventName); |
if (eventParaInfo) { |
uint32_t validFlags = eventParaInfo->m_validFlags; |
- CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify(); |
+ CXFA_FFNotify* pNotify = m_pDocument->GetNotify(); |
if (!pNotify) { |
return iRet; |
} |