| 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 6f0cff319635f75215a9b7dfda212a235ea489bb..eed103643bfbe50beb5bc343151f51ca4ccc3857 100644
|
| --- a/xfa/fxfa/parser/xfa_object_imp.cpp
|
| +++ b/xfa/fxfa/parser/xfa_object_imp.cpp
|
| @@ -27,30 +27,59 @@
|
| #include "xfa/fxfa/parser/xfa_utils.h"
|
| #include "xfa/fxjse/cfxjse_arguments.h"
|
|
|
| +namespace {
|
| +
|
| +void XFA_DeleteWideString(void* pData) {
|
| + delete static_cast<CFX_WideString*>(pData);
|
| +}
|
| +
|
| +void XFA_CopyWideString(void*& pData) {
|
| + if (pData) {
|
| + CFX_WideString* pNewData = new CFX_WideString(*(CFX_WideString*)pData);
|
| + pData = pNewData;
|
| + }
|
| +}
|
| +
|
| +XFA_MAPDATABLOCKCALLBACKINFO deleteWideStringCallBack = {XFA_DeleteWideString,
|
| + XFA_CopyWideString};
|
| +
|
| +XFA_OBJECTTYPE XFA_GetElementObjectType(XFA_ELEMENT eElement) {
|
| + return static_cast<XFA_OBJECTTYPE>(XFA_GetElementByID(eElement)->eObjectType);
|
| +}
|
| +
|
| +void XFA_DataNodeDeleteBindItem(void* pData) {
|
| + delete static_cast<CXFA_NodeArray*>(pData);
|
| +}
|
| +
|
| +XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = {
|
| + XFA_DataNodeDeleteBindItem, nullptr};
|
| +
|
| +} // namespace
|
| +
|
| CXFA_Object::CXFA_Object(CXFA_Document* pDocument, uint32_t uFlags)
|
| : m_pDocument(pDocument), m_uFlags(uFlags) {}
|
| +
|
| void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const {
|
| wsName = XFA_GetElementByID(GetClassID())->pName;
|
| }
|
| +
|
| uint32_t CXFA_Object::GetClassHashCode() const {
|
| return XFA_GetElementByID(GetClassID())->uHash;
|
| }
|
| +
|
| XFA_ELEMENT CXFA_Object::GetClassID() const {
|
| - if (IsNode()) {
|
| + if (IsNode())
|
| return AsNode()->GetClassID();
|
| - }
|
| - if (IsOrdinaryObject()) {
|
| + if (IsOrdinaryObject())
|
| return AsOrdinaryObject()->GetClassID();
|
| - }
|
| - if (IsNodeList()) {
|
| + if (IsNodeList())
|
| return AsNodeList()->GetClassID();
|
| - }
|
| - if (IsOrdinaryList()) {
|
| + if (IsOrdinaryList())
|
| return XFA_ELEMENT_List;
|
| - }
|
| ASSERT(FALSE);
|
| return (XFA_ELEMENT)0;
|
| }
|
| +
|
| void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -64,6 +93,7 @@ void CXFA_Object::Script_ObjectClass_ClassName(CFXJSE_Value* pValue,
|
| ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
|
| }
|
| }
|
| +
|
| void CXFA_Object::ThrowScriptErrorMessage(int32_t iStringID, ...) {
|
| IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider();
|
| ASSERT(pAppProvider);
|
| @@ -78,21 +108,6 @@ void CXFA_Object::ThrowScriptErrorMessage(int32_t iStringID, ...) {
|
| "", FX_UTF8Encode(wsMessage.c_str(), wsMessage.GetLength()).AsStringC());
|
| }
|
|
|
| -static void XFA_DeleteWideString(void* pData) {
|
| - delete static_cast<CFX_WideString*>(pData);
|
| -}
|
| -
|
| -static void XFA_CopyWideString(void*& pData) {
|
| - if (pData) {
|
| - CFX_WideString* pNewData = new CFX_WideString(*(CFX_WideString*)pData);
|
| - pData = pNewData;
|
| - }
|
| -}
|
| -static XFA_MAPDATABLOCKCALLBACKINFO deleteWideStringCallBack = {
|
| - XFA_DeleteWideString, XFA_CopyWideString};
|
| -static XFA_OBJECTTYPE XFA_GetElementObjectType(XFA_ELEMENT eElement) {
|
| - return (XFA_OBJECTTYPE)XFA_GetElementByID(eElement)->eObjectType;
|
| -}
|
| CXFA_Node::CXFA_Node(CXFA_Document* pDoc,
|
| uint16_t ePacket,
|
| XFA_ELEMENT eElement)
|
| @@ -109,30 +124,31 @@ CXFA_Node::CXFA_Node(CXFA_Document* pDoc,
|
| m_pMapModuleData(nullptr) {
|
| ASSERT(m_pDocument);
|
| }
|
| +
|
| CXFA_Node::~CXFA_Node() {
|
| - ASSERT(m_pParent == NULL);
|
| + ASSERT(!m_pParent);
|
| RemoveMapModuleKey();
|
| - CXFA_Node *pNext, *pNode = m_pChild;
|
| + CXFA_Node* pNode = m_pChild;
|
| while (pNode) {
|
| - pNext = pNode->m_pNext;
|
| - pNode->m_pParent = NULL;
|
| + CXFA_Node* pNext = pNode->m_pNext;
|
| + pNode->m_pParent = nullptr;
|
| delete pNode;
|
| pNode = pNext;
|
| }
|
| - if (m_pXMLNode && HasFlag(XFA_NODEFLAG_OwnXMLNode)) {
|
| + if (m_pXMLNode && HasFlag(XFA_NODEFLAG_OwnXMLNode))
|
| m_pXMLNode->Release();
|
| - }
|
| }
|
| +
|
| CXFA_Node* CXFA_Node::Clone(FX_BOOL bRecursive) {
|
| CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory();
|
| CXFA_Node* pClone = pFactory->CreateNode(m_ePacket, m_eNodeClass);
|
| - if (!pClone) {
|
| - return NULL;
|
| - }
|
| + if (!pClone)
|
| + return nullptr;
|
| +
|
| MergeAllData(pClone);
|
| pClone->UpdateNameHash();
|
| if (IsNeedSavingXMLNode()) {
|
| - CFDE_XMLNode* pCloneXML = NULL;
|
| + CFDE_XMLNode* pCloneXML = nullptr;
|
| if (IsAttributeInXML()) {
|
| CFX_WideString wsName;
|
| GetAttribute(XFA_ATTRIBUTE_Name, wsName, FALSE);
|
| @@ -142,7 +158,7 @@ CXFA_Node* CXFA_Node::Clone(FX_BOOL bRecursive) {
|
| pCloneXMLElement->SetTextData(CFX_WideString(wsValue));
|
| }
|
| pCloneXML = pCloneXMLElement;
|
| - pCloneXMLElement = NULL;
|
| + pCloneXMLElement = nullptr;
|
| pClone->SetEnum(XFA_ATTRIBUTE_Contains, XFA_ATTRIBUTEENUM_Unknown);
|
| } else {
|
| pCloneXML = m_pXMLNode->Clone(FALSE);
|
| @@ -157,9 +173,10 @@ CXFA_Node* CXFA_Node::Clone(FX_BOOL bRecursive) {
|
| }
|
| }
|
| pClone->SetFlag(XFA_NODEFLAG_Initialized, true);
|
| - pClone->SetObject(XFA_ATTRIBUTE_BindingNode, NULL);
|
| + pClone->SetObject(XFA_ATTRIBUTE_BindingNode, nullptr);
|
| return pClone;
|
| }
|
| +
|
| CXFA_Node* CXFA_Node::GetNodeItem(XFA_NODEITEM eItem) const {
|
| switch (eItem) {
|
| case XFA_NODEITEM_NextSibling:
|
| @@ -171,45 +188,43 @@ CXFA_Node* CXFA_Node::GetNodeItem(XFA_NODEITEM eItem) const {
|
| case XFA_NODEITEM_PrevSibling:
|
| if (m_pParent) {
|
| CXFA_Node* pSibling = m_pParent->m_pChild;
|
| - CXFA_Node* pPrev = NULL;
|
| + CXFA_Node* pPrev = nullptr;
|
| while (pSibling && pSibling != this) {
|
| pPrev = pSibling;
|
| pSibling = pSibling->m_pNext;
|
| }
|
| return pPrev;
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| default:
|
| break;
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| +
|
| CXFA_Node* CXFA_Node::GetNodeItem(XFA_NODEITEM eItem,
|
| XFA_OBJECTTYPE eType) const {
|
| - CXFA_Node* pNode = NULL;
|
| + CXFA_Node* pNode = nullptr;
|
| switch (eItem) {
|
| case XFA_NODEITEM_NextSibling:
|
| pNode = m_pNext;
|
| if (eType != XFA_OBJECTTYPEMASK) {
|
| - while (pNode && pNode->GetObjectType() != eType) {
|
| + while (pNode && pNode->GetObjectType() != eType)
|
| pNode = pNode->m_pNext;
|
| - }
|
| }
|
| break;
|
| case XFA_NODEITEM_FirstChild:
|
| pNode = m_pChild;
|
| if (eType != XFA_OBJECTTYPEMASK) {
|
| - while (pNode && pNode->GetObjectType() != eType) {
|
| + while (pNode && pNode->GetObjectType() != eType)
|
| pNode = pNode->m_pNext;
|
| - }
|
| }
|
| break;
|
| case XFA_NODEITEM_Parent:
|
| pNode = m_pParent;
|
| if (eType != XFA_OBJECTTYPEMASK) {
|
| - while (pNode && pNode->GetObjectType() != eType) {
|
| + while (pNode && pNode->GetObjectType() != eType)
|
| pNode = pNode->m_pParent;
|
| - }
|
| }
|
| break;
|
| case XFA_NODEITEM_PrevSibling:
|
| @@ -229,6 +244,7 @@ CXFA_Node* CXFA_Node::GetNodeItem(XFA_NODEITEM eItem,
|
| }
|
| return pNode;
|
| }
|
| +
|
| int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes,
|
| uint32_t dwTypeFilter,
|
| XFA_ELEMENT eElementFilter,
|
| @@ -258,10 +274,10 @@ int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes,
|
| pChild = pChild->m_pNext;
|
| }
|
| } else if (dwTypeFilter != 0) {
|
| - FX_BOOL bFilterChildren = (dwTypeFilter & XFA_NODEFILTER_Children) != 0;
|
| - FX_BOOL bFilterProperties = (dwTypeFilter & XFA_NODEFILTER_Properties) != 0;
|
| - FX_BOOL bFilterOneOfProperties =
|
| - (dwTypeFilter & XFA_NODEFILTER_OneOfProperty) != 0;
|
| + bool bFilterChildren = !!(dwTypeFilter & XFA_NODEFILTER_Children);
|
| + bool bFilterProperties = !!(dwTypeFilter & XFA_NODEFILTER_Properties);
|
| + bool bFilterOneOfProperties =
|
| + !!(dwTypeFilter & XFA_NODEFILTER_OneOfProperty);
|
| CXFA_Node* pChild = m_pChild;
|
| while (pChild) {
|
| const XFA_PROPERTY* pProperty = XFA_GetPropertyOfElement(
|
| @@ -277,10 +293,8 @@ int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes,
|
| pChild->GetClassID() == XFA_ELEMENT_PageSet)) {
|
| nodes.Add(pChild);
|
| }
|
| - } else {
|
| - if (bFilterChildren) {
|
| - nodes.Add(pChild);
|
| - }
|
| + } else if (bFilterChildren) {
|
| + nodes.Add(pChild);
|
| }
|
| pChild = pChild->m_pNext;
|
| }
|
| @@ -288,19 +302,17 @@ int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes,
|
| int32_t iProperties = 0;
|
| const XFA_PROPERTY* pProperty =
|
| XFA_GetElementProperties(GetClassID(), iProperties);
|
| - if (pProperty == NULL || iProperties < 1) {
|
| + if (!pProperty || iProperties < 1)
|
| 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, (XFA_ELEMENT)pProperty[i].eName);
|
| - if (!pNewNode) {
|
| + if (!pNewNode)
|
| break;
|
| - }
|
| - InsertChild(pNewNode, NULL);
|
| + InsertChild(pNewNode, nullptr);
|
| pNewNode->SetFlag(XFA_NODEFLAG_Initialized, true);
|
| nodes.Add(pNewNode);
|
| break;
|
| @@ -310,6 +322,7 @@ int32_t CXFA_Node::GetNodeList(CXFA_NodeArray& nodes,
|
| }
|
| return nodes.GetSize();
|
| }
|
| +
|
| CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_ELEMENT eElement,
|
| uint32_t dwFlags) {
|
| CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory();
|
| @@ -317,13 +330,14 @@ CXFA_Node* CXFA_Node::CreateSamePacketNode(XFA_ELEMENT eElement,
|
| 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_eNodeClass);
|
| - if (!pClone) {
|
| - return NULL;
|
| - }
|
| + if (!pClone)
|
| + return nullptr;
|
| +
|
| pClone->SetTemplateNode(this);
|
| pClone->UpdateNameHash();
|
| pClone->SetXMLMappingNode(GetXMLMappingNode());
|
| @@ -344,35 +358,30 @@ CXFA_Node* CXFA_Node::GetTemplateNode() const {
|
| void CXFA_Node::SetTemplateNode(CXFA_Node* pTemplateNode) {
|
| m_pAuxNode = pTemplateNode;
|
| }
|
| +
|
| CXFA_Node* CXFA_Node::GetBindData() {
|
| ASSERT(GetPacketID() == XFA_XDPPACKET_Form);
|
| return static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| }
|
| +
|
| int32_t CXFA_Node::GetBindItems(CXFA_NodeArray& formItems) {
|
| if (m_uFlags & XFA_NODEFLAG_BindFormItems) {
|
| - CXFA_NodeArray* pItems = NULL;
|
| + CXFA_NodeArray* pItems = nullptr;
|
| TryObject(XFA_ATTRIBUTE_BindingNode, (void*&)pItems);
|
| formItems.Copy(*pItems);
|
| return formItems.GetSize();
|
| }
|
| CXFA_Node* pFormNode =
|
| static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| - if (pFormNode) {
|
| + if (pFormNode)
|
| formItems.Add(pFormNode);
|
| - }
|
| return formItems.GetSize();
|
| }
|
|
|
| -static void XFA_DataNodeDeleteBindItem(void* pData) {
|
| - delete static_cast<CXFA_NodeArray*>(pData);
|
| -}
|
| -
|
| -static XFA_MAPDATABLOCKCALLBACKINFO deleteBindItemCallBack = {
|
| - XFA_DataNodeDeleteBindItem, NULL};
|
| int32_t CXFA_Node::AddBindItem(CXFA_Node* pFormNode) {
|
| ASSERT(pFormNode);
|
| if (m_uFlags & XFA_NODEFLAG_BindFormItems) {
|
| - CXFA_NodeArray* pItems = NULL;
|
| + CXFA_NodeArray* pItems = nullptr;
|
| TryObject(XFA_ATTRIBUTE_BindingNode, (void*&)pItems);
|
| ASSERT(pItems);
|
| if (pItems->Find(pFormNode) < 0) {
|
| @@ -395,17 +404,17 @@ int32_t CXFA_Node::AddBindItem(CXFA_Node* pFormNode) {
|
| m_uFlags |= XFA_NODEFLAG_BindFormItems;
|
| return 2;
|
| }
|
| +
|
| int32_t CXFA_Node::RemoveBindItem(CXFA_Node* pFormNode) {
|
| if (m_uFlags & XFA_NODEFLAG_BindFormItems) {
|
| - CXFA_NodeArray* pItems = NULL;
|
| + CXFA_NodeArray* pItems = nullptr;
|
| TryObject(XFA_ATTRIBUTE_BindingNode, (void*&)pItems);
|
| ASSERT(pItems);
|
| int32_t iIndex = pItems->Find(pFormNode);
|
| int32_t iCount = pItems->GetSize();
|
| if (iIndex >= 0) {
|
| - if (iIndex != iCount - 1) {
|
| + if (iIndex != iCount - 1)
|
| pItems->SetAt(iIndex, pItems->GetAt(iCount - 1));
|
| - }
|
| pItems->RemoveAt(iCount - 1);
|
| if (iCount == 2) {
|
| CXFA_Node* pLastFormNode = pItems->GetAt(0);
|
| @@ -419,86 +428,84 @@ int32_t CXFA_Node::RemoveBindItem(CXFA_Node* pFormNode) {
|
| CXFA_Node* pOldFormItem =
|
| static_cast<CXFA_Node*>(GetObject(XFA_ATTRIBUTE_BindingNode));
|
| if (pOldFormItem == pFormNode) {
|
| - SetObject(XFA_ATTRIBUTE_BindingNode, NULL);
|
| - pOldFormItem = NULL;
|
| + SetObject(XFA_ATTRIBUTE_BindingNode, nullptr);
|
| + pOldFormItem = nullptr;
|
| }
|
| - return pOldFormItem == NULL ? 0 : 1;
|
| + return pOldFormItem ? 1 : 0;
|
| }
|
| +
|
| FX_BOOL CXFA_Node::HasBindItem() {
|
| - return (GetPacketID() == XFA_XDPPACKET_Datasets) &&
|
| - GetObject(XFA_ATTRIBUTE_BindingNode) != NULL;
|
| + return GetPacketID() == XFA_XDPPACKET_Datasets &&
|
| + GetObject(XFA_ATTRIBUTE_BindingNode);
|
| }
|
| +
|
| CXFA_WidgetData* CXFA_Node::GetWidgetData() {
|
| return (CXFA_WidgetData*)GetObject(XFA_ATTRIBUTE_WidgetData);
|
| }
|
| +
|
| CXFA_WidgetData* CXFA_Node::GetContainerWidgetData() {
|
| - if (GetPacketID() != XFA_XDPPACKET_Form) {
|
| - return NULL;
|
| - }
|
| + if (GetPacketID() != XFA_XDPPACKET_Form)
|
| + return nullptr;
|
| XFA_ELEMENT classID = GetClassID();
|
| - if (classID == XFA_ELEMENT_ExclGroup) {
|
| - return NULL;
|
| - }
|
| + if (classID == XFA_ELEMENT_ExclGroup)
|
| + return nullptr;
|
| CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent);
|
| - if (pParentNode && pParentNode->GetClassID() == XFA_ELEMENT_ExclGroup) {
|
| - return NULL;
|
| - }
|
| + if (pParentNode && pParentNode->GetClassID() == XFA_ELEMENT_ExclGroup)
|
| + return nullptr;
|
| +
|
| if (classID == XFA_ELEMENT_Field) {
|
| CXFA_WidgetData* pFieldWidgetData = GetWidgetData();
|
| if (pFieldWidgetData &&
|
| pFieldWidgetData->GetChoiceListOpen() ==
|
| XFA_ATTRIBUTEENUM_MultiSelect) {
|
| - return NULL;
|
| + return nullptr;
|
| } else {
|
| CFX_WideString wsPicture;
|
| if (pFieldWidgetData) {
|
| pFieldWidgetData->GetPictureContent(wsPicture,
|
| XFA_VALUEPICTURE_DataBind);
|
| }
|
| - if (!wsPicture.IsEmpty()) {
|
| + if (!wsPicture.IsEmpty())
|
| return pFieldWidgetData;
|
| - }
|
| CXFA_Node* pDataNode = GetBindData();
|
| - if (!pDataNode) {
|
| - return NULL;
|
| - }
|
| - pFieldWidgetData = NULL;
|
| + if (!pDataNode)
|
| + return nullptr;
|
| + pFieldWidgetData = nullptr;
|
| CXFA_NodeArray formNodes;
|
| pDataNode->GetBindItems(formNodes);
|
| for (int32_t i = 0; i < formNodes.GetSize(); i++) {
|
| CXFA_Node* pFormNode = formNodes.GetAt(i);
|
| - if (!pFormNode || pFormNode->HasFlag(XFA_NODEFLAG_HasRemoved)) {
|
| + if (!pFormNode || pFormNode->HasFlag(XFA_NODEFLAG_HasRemoved))
|
| continue;
|
| - }
|
| pFieldWidgetData = pFormNode->GetWidgetData();
|
| if (pFieldWidgetData) {
|
| pFieldWidgetData->GetPictureContent(wsPicture,
|
| XFA_VALUEPICTURE_DataBind);
|
| }
|
| - if (!wsPicture.IsEmpty()) {
|
| + if (!wsPicture.IsEmpty())
|
| break;
|
| - }
|
| - pFieldWidgetData = NULL;
|
| + pFieldWidgetData = nullptr;
|
| }
|
| return pFieldWidgetData;
|
| }
|
| }
|
| CXFA_Node* pGrandNode =
|
| - pParentNode ? pParentNode->GetNodeItem(XFA_NODEITEM_Parent) : NULL;
|
| + pParentNode ? pParentNode->GetNodeItem(XFA_NODEITEM_Parent) : nullptr;
|
| CXFA_Node* pValueNode =
|
| (pParentNode && pParentNode->GetClassID() == XFA_ELEMENT_Value)
|
| ? pParentNode
|
| - : NULL;
|
| + : nullptr;
|
| if (!pValueNode) {
|
| pValueNode = (pGrandNode && pGrandNode->GetClassID() == XFA_ELEMENT_Value)
|
| ? pGrandNode
|
| - : NULL;
|
| + : nullptr;
|
| }
|
| CXFA_Node* pParentOfValueNode =
|
| - pValueNode ? pValueNode->GetNodeItem(XFA_NODEITEM_Parent) : NULL;
|
| + pValueNode ? pValueNode->GetNodeItem(XFA_NODEITEM_Parent) : nullptr;
|
| return pParentOfValueNode ? pParentOfValueNode->GetContainerWidgetData()
|
| - : NULL;
|
| + : nullptr;
|
| }
|
| +
|
| FX_BOOL CXFA_Node::GetLocaleName(CFX_WideString& wsLocaleName) {
|
| CXFA_Node* pForm = GetDocument()->GetXFAObject(XFA_HASHCODE_Form)->AsNode();
|
| CXFA_Node* pTopSubform = pForm->GetFirstChildByClass(XFA_ELEMENT_Subform);
|
| @@ -511,30 +518,24 @@ FX_BOOL CXFA_Node::GetLocaleName(CFX_WideString& wsLocaleName) {
|
| pLocaleNode = pLocaleNode->GetNodeItem(XFA_NODEITEM_Parent);
|
| }
|
| } while (pLocaleNode && pLocaleNode != pTopSubform && !bLocale);
|
| - if (bLocale) {
|
| - return bLocale;
|
| - }
|
| + if (bLocale)
|
| + return TRUE;
|
| CXFA_Node* pConfig = ToNode(GetDocument()->GetXFAObject(XFA_HASHCODE_Config));
|
| wsLocaleName = GetDocument()->GetLocalMgr()->GetConfigLocaleName(pConfig);
|
| - if (!wsLocaleName.IsEmpty()) {
|
| - bLocale = TRUE;
|
| - }
|
| - if (bLocale) {
|
| - return bLocale;
|
| - }
|
| - if (pTopSubform) {
|
| - bLocale = pTopSubform->TryCData(XFA_ATTRIBUTE_Locale, wsLocaleName, FALSE);
|
| - }
|
| - if (bLocale) {
|
| - return bLocale;
|
| + if (!wsLocaleName.IsEmpty())
|
| + return TRUE;
|
| + if (pTopSubform &&
|
| + pTopSubform->TryCData(XFA_ATTRIBUTE_Locale, wsLocaleName, FALSE)) {
|
| + return TRUE;
|
| }
|
| IFX_Locale* pLocale = GetDocument()->GetLocalMgr()->GetDefLocale();
|
| if (pLocale) {
|
| wsLocaleName = pLocale->GetName();
|
| - bLocale = TRUE;
|
| + return TRUE;
|
| }
|
| - return bLocale;
|
| + return FALSE;
|
| }
|
| +
|
| XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() {
|
| XFA_ELEMENT eElement = GetClassID();
|
| CXFA_Node* pKeep = GetFirstChildByClass(XFA_ELEMENT_Keep);
|
| @@ -551,21 +552,17 @@ XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() {
|
| pPreviewRow->GetEnum(XFA_ATTRIBUTE_Layout) ==
|
| XFA_ATTRIBUTEENUM_Row) {
|
| XFA_ATTRIBUTEENUM eValue;
|
| - if (pKeep->TryEnum(XFA_ATTRIBUTE_Previous, eValue, FALSE)) {
|
| - if (eValue == XFA_ATTRIBUTEENUM_ContentArea ||
|
| - eValue == XFA_ATTRIBUTEENUM_PageArea) {
|
| - return XFA_ATTRIBUTEENUM_ContentArea;
|
| - }
|
| + if (pKeep->TryEnum(XFA_ATTRIBUTE_Previous, eValue, FALSE) &&
|
| + (eValue == XFA_ATTRIBUTEENUM_ContentArea ||
|
| + eValue == XFA_ATTRIBUTEENUM_PageArea)) {
|
| + return XFA_ATTRIBUTEENUM_ContentArea;
|
| }
|
| - CXFA_Node* pKeep =
|
| + CXFA_Node* pNode =
|
| pPreviewRow->GetFirstChildByClass(XFA_ELEMENT_Keep);
|
| - if (pKeep) {
|
| - if (pKeep->TryEnum(XFA_ATTRIBUTE_Next, eValue, FALSE)) {
|
| - if (eValue == XFA_ATTRIBUTEENUM_ContentArea ||
|
| - eValue == XFA_ATTRIBUTEENUM_PageArea) {
|
| - return XFA_ATTRIBUTEENUM_ContentArea;
|
| - }
|
| - }
|
| + if (pNode && pNode->TryEnum(XFA_ATTRIBUTE_Next, eValue, FALSE) &&
|
| + (eValue == XFA_ATTRIBUTEENUM_ContentArea ||
|
| + eValue == XFA_ATTRIBUTEENUM_PageArea)) {
|
| + return XFA_ATTRIBUTEENUM_ContentArea;
|
| }
|
| }
|
| }
|
| @@ -589,9 +586,8 @@ XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() {
|
| break;
|
| case XFA_ELEMENT_Field: {
|
| CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent);
|
| - if (!pParentNode || pParentNode->GetClassID() == XFA_ELEMENT_PageArea) {
|
| + if (!pParentNode || pParentNode->GetClassID() == XFA_ELEMENT_PageArea)
|
| return XFA_ATTRIBUTEENUM_ContentArea;
|
| - }
|
| if (pParentNode->GetIntact() == XFA_ATTRIBUTEENUM_None) {
|
| XFA_ATTRIBUTEENUM eParLayout =
|
| pParentNode->GetEnum(XFA_ATTRIBUTE_Layout);
|
| @@ -603,9 +599,8 @@ XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() {
|
| XFA_VERSION version = m_pDocument->GetCurVersionMode();
|
| if (eParLayout == XFA_ATTRIBUTEENUM_Tb && version < XFA_VERSION_208) {
|
| CXFA_Measurement measureH;
|
| - if (TryMeasure(XFA_ATTRIBUTE_H, measureH, FALSE)) {
|
| + if (TryMeasure(XFA_ATTRIBUTE_H, measureH, FALSE))
|
| return XFA_ATTRIBUTEENUM_ContentArea;
|
| - }
|
| }
|
| return XFA_ATTRIBUTEENUM_None;
|
| }
|
| @@ -618,16 +613,18 @@ XFA_ATTRIBUTEENUM CXFA_Node::GetIntact() {
|
| }
|
| return XFA_ATTRIBUTEENUM_None;
|
| }
|
| +
|
| CXFA_Node* CXFA_Node::GetDataDescriptionNode() {
|
| - if (m_ePacket == XFA_XDPPACKET_Datasets) {
|
| + if (m_ePacket == XFA_XDPPACKET_Datasets)
|
| return m_pAuxNode;
|
| - }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| +
|
| void CXFA_Node::SetDataDescriptionNode(CXFA_Node* pDataDescriptionNode) {
|
| ASSERT(m_ePacket == XFA_XDPPACKET_Datasets);
|
| m_pAuxNode = pDataDescriptionNode;
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) {
|
| int32_t iLength = pArguments->GetLength();
|
| if (iLength != 1) {
|
| @@ -637,22 +634,19 @@ void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) {
|
| CFX_WideString wsExpression =
|
| CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
|
| - if (!pScriptContext) {
|
| + if (!pScriptContext)
|
| return;
|
| - }
|
| CXFA_Node* refNode = this;
|
| - if (refNode->GetClassID() == XFA_ELEMENT_Xfa) {
|
| + if (refNode->GetClassID() == XFA_ELEMENT_Xfa)
|
| refNode = ToNode(pScriptContext->GetThisObject());
|
| - }
|
| uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes |
|
| XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent |
|
| XFA_RESOLVENODE_Siblings;
|
| XFA_RESOLVENODE_RS resoveNodeRS;
|
| int32_t iRet = pScriptContext->ResolveObjects(
|
| refNode, wsExpression.AsStringC(), resoveNodeRS, dwFlag);
|
| - if (iRet < 1) {
|
| + if (iRet < 1)
|
| return FXJSE_Value_SetNull(pArguments->GetReturnValue());
|
| - }
|
| if (resoveNodeRS.dwFlags == XFA_RESOVENODE_RSTYPE_Nodes) {
|
| CXFA_Object* pNode = resoveNodeRS.nodes[0];
|
| FXJSE_Value_Set(pArguments->GetReturnValue(),
|
| @@ -671,6 +665,7 @@ void CXFA_Node::Script_TreeClass_ResolveNode(CFXJSE_Arguments* pArguments) {
|
| }
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) {
|
| int32_t iLength = pArguments->GetLength();
|
| if (iLength != 1) {
|
| @@ -681,30 +676,27 @@ void CXFA_Node::Script_TreeClass_ResolveNodes(CFXJSE_Arguments* pArguments) {
|
| CFX_WideString wsExpression =
|
| CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| CFXJSE_Value* pValue = pArguments->GetReturnValue();
|
| - if (!pValue) {
|
| + if (!pValue)
|
| return;
|
| - }
|
| uint32_t dwFlag = XFA_RESOLVENODE_Children | XFA_RESOLVENODE_Attributes |
|
| XFA_RESOLVENODE_Properties | XFA_RESOLVENODE_Parent |
|
| XFA_RESOLVENODE_Siblings;
|
| CXFA_Node* refNode = this;
|
| - if (refNode->GetClassID() == XFA_ELEMENT_Xfa) {
|
| + if (refNode->GetClassID() == XFA_ELEMENT_Xfa)
|
| refNode = ToNode(m_pDocument->GetScriptContext()->GetThisObject());
|
| - }
|
| Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag, refNode);
|
| }
|
| +
|
| void CXFA_Node::Script_Som_ResolveNodeList(CFXJSE_Value* pValue,
|
| CFX_WideString wsExpression,
|
| uint32_t dwFlag,
|
| CXFA_Node* refNode) {
|
| CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
|
| - if (!pScriptContext) {
|
| + if (!pScriptContext)
|
| return;
|
| - }
|
| XFA_RESOLVENODE_RS resoveNodeRS;
|
| - if (refNode == NULL) {
|
| + if (!refNode)
|
| refNode = this;
|
| - }
|
| pScriptContext->ResolveObjects(refNode, wsExpression.AsStringC(),
|
| resoveNodeRS, dwFlag);
|
| CXFA_ArrayNodeList* pNodeList = new CXFA_ArrayNodeList(m_pDocument);
|
| @@ -727,6 +719,7 @@ void CXFA_Node::Script_Som_ResolveNodeList(CFXJSE_Value* pValue,
|
| FXJSE_Value_SetObject(pValue, (CXFA_Object*)pNodeList,
|
| pScriptContext->GetJseNormalClass());
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -740,13 +733,13 @@ void CXFA_Node::Script_TreeClass_All(CFXJSE_Value* pValue,
|
| Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag);
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
|
| - if (!pScriptContext) {
|
| + if (!pScriptContext)
|
| return;
|
| - }
|
| if (bSetting) {
|
| IXFA_AppProvider* pAppProvider = m_pDocument->GetNotify()->GetAppProvider();
|
| ASSERT(pAppProvider);
|
| @@ -761,6 +754,7 @@ void CXFA_Node::Script_TreeClass_Nodes(CFXJSE_Value* pValue,
|
| pScriptContext->GetJseNormalClass());
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -774,6 +768,7 @@ void CXFA_Node::Script_TreeClass_ClassAll(CFXJSE_Value* pValue,
|
| Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag);
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -789,24 +784,25 @@ void CXFA_Node::Script_TreeClass_Parent(CFXJSE_Value* pValue,
|
| }
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_Index(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| - if (bSetting) {
|
| + if (bSetting)
|
| ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
|
| - } else {
|
| + else
|
| FXJSE_Value_SetInteger(pValue, GetNodeSameNameIndex());
|
| - }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_ClassIndex(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| - if (bSetting) {
|
| + if (bSetting)
|
| ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
|
| - } else {
|
| + else
|
| FXJSE_Value_SetInteger(pValue, GetNodeSameClassIndex());
|
| - }
|
| }
|
| +
|
| void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -819,6 +815,7 @@ void CXFA_Node::Script_TreeClass_SomExpression(CFXJSE_Value* pValue,
|
| FX_UTF8Encode(wsSOMExpression).AsStringC());
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_ApplyXSL(CFXJSE_Arguments* pArguments) {
|
| int32_t iLength = pArguments->GetLength();
|
| if (iLength != 1) {
|
| @@ -841,10 +838,8 @@ void CXFA_Node::Script_NodeClass_AssignNode(CFXJSE_Arguments* pArguments) {
|
| CFX_WideString wsExpression;
|
| CFX_WideString wsValue;
|
| int32_t iAction = 0;
|
| - if (iLength >= 1) {
|
| - wsExpression =
|
| - CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| - }
|
| + wsExpression =
|
| + CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| if (iLength >= 2) {
|
| wsValue =
|
| CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC());
|
| @@ -864,13 +859,13 @@ void CXFA_Node::Script_NodeClass_Clone(CFXJSE_Arguments* pArguments) {
|
| ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"clone");
|
| return;
|
| }
|
| - FX_BOOL bClone = TRUE;
|
| - bClone = pArguments->GetInt32(0) == 0 ? FALSE : TRUE;
|
| + bool bClone = !!pArguments->GetInt32(0);
|
| CXFA_Node* pCloneNode = Clone(bClone);
|
| FXJSE_Value_Set(
|
| pArguments->GetReturnValue(),
|
| m_pDocument->GetScriptContext()->GetJSValueFromMap(pCloneNode));
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_GetAttribute(CFXJSE_Arguments* pArguments) {
|
| int32_t iLength = pArguments->GetLength();
|
| if (iLength != 1) {
|
| @@ -883,10 +878,10 @@ void CXFA_Node::Script_NodeClass_GetAttribute(CFXJSE_Arguments* pArguments) {
|
| CFX_WideString wsValue;
|
| GetAttribute(wsExpression.AsStringC(), wsValue);
|
| CFXJSE_Value* pValue = pArguments->GetReturnValue();
|
| - if (pValue) {
|
| + if (pValue)
|
| FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsValue).AsStringC());
|
| - }
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) {
|
| int32_t iLength = pArguments->GetLength();
|
| if (iLength < 1 || iLength > 2) {
|
| @@ -895,13 +890,10 @@ void CXFA_Node::Script_NodeClass_GetElement(CFXJSE_Arguments* pArguments) {
|
| }
|
| CFX_WideString wsExpression;
|
| int32_t iValue = 0;
|
| - if (iLength >= 1) {
|
| - CFX_ByteString bsExpression = pArguments->GetUTF8String(0);
|
| - wsExpression = CFX_WideString::FromUTF8(bsExpression.AsStringC());
|
| - }
|
| - if (iLength >= 2) {
|
| + wsExpression =
|
| + CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| + if (iLength >= 2)
|
| iValue = pArguments->GetInt32(1);
|
| - }
|
| const XFA_ELEMENTINFO* pElementInfo =
|
| XFA_GetElementByName(wsExpression.AsStringC());
|
| CXFA_Node* pNode = GetProperty(iValue, pElementInfo->eName);
|
| @@ -918,14 +910,12 @@ void CXFA_Node::Script_NodeClass_IsPropertySpecified(
|
| return;
|
| }
|
| CFX_WideString wsExpression;
|
| - FX_BOOL bParent = TRUE;
|
| + bool bParent = true;
|
| int32_t iIndex = 0;
|
| - if (iLength >= 1) {
|
| - wsExpression =
|
| - CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| - }
|
| + wsExpression =
|
| + CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| if (iLength >= 2)
|
| - bParent = !!pArguments->GetInt32(1) ? TRUE : FALSE;
|
| + bParent = !!pArguments->GetInt32(1);
|
| if (iLength >= 3)
|
| iIndex = pArguments->GetInt32(2);
|
| FX_BOOL bHas = FALSE;
|
| @@ -957,36 +947,29 @@ void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) {
|
| return;
|
| }
|
| CFX_WideString wsExpression;
|
| - FX_BOOL bIgnoreRoot = TRUE;
|
| - FX_BOOL bOverwrite = 0;
|
| - if (iLength >= 1) {
|
| - CFX_ByteString bsExpression = pArguments->GetUTF8String(0);
|
| - wsExpression = CFX_WideString::FromUTF8(bsExpression.AsStringC());
|
| - if (wsExpression.IsEmpty()) {
|
| - return;
|
| - }
|
| - }
|
| - if (iLength >= 2) {
|
| - bIgnoreRoot = pArguments->GetInt32(1) == 0 ? FALSE : TRUE;
|
| - }
|
| - if (iLength >= 3) {
|
| - bOverwrite = pArguments->GetInt32(2) == 0 ? FALSE : TRUE;
|
| - }
|
| - IXFA_Parser* pParser = IXFA_Parser::Create(m_pDocument);
|
| - if (!pParser) {
|
| + bool bIgnoreRoot = true;
|
| + bool bOverwrite = 0;
|
| + wsExpression =
|
| + CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| + if (wsExpression.IsEmpty())
|
| return;
|
| - }
|
| - CFDE_XMLNode* pXMLNode = NULL;
|
| - int32_t iParserStatus = pParser->ParseXMLData(wsExpression, pXMLNode, NULL);
|
| - if (iParserStatus != XFA_PARSESTATUS_Done || !pXMLNode) {
|
| - pParser->Release();
|
| - pParser = NULL;
|
| + if (iLength >= 2)
|
| + 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));
|
| + if (!pParser)
|
| + return;
|
| + CFDE_XMLNode* pXMLNode = nullptr;
|
| + int32_t iParserStatus =
|
| + pParser->ParseXMLData(wsExpression, pXMLNode, nullptr);
|
| + if (iParserStatus != XFA_PARSESTATUS_Done || !pXMLNode)
|
| return;
|
| - }
|
| if (bIgnoreRoot &&
|
| (pXMLNode->GetType() != FDE_XMLNODE_Element ||
|
| XFA_RecognizeRichText(static_cast<CFDE_XMLElement*>(pXMLNode)))) {
|
| - bIgnoreRoot = FALSE;
|
| + bIgnoreRoot = false;
|
| }
|
| CXFA_Node* pFakeRoot = Clone(FALSE);
|
| CFX_WideStringC wsContentType = GetCData(XFA_ATTRIBUTE_ContentType);
|
| @@ -997,7 +980,7 @@ void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) {
|
| CFDE_XMLNode* pFakeXMLRoot = pFakeRoot->GetXMLMappingNode();
|
| if (!pFakeXMLRoot) {
|
| CFDE_XMLNode* pThisXMLRoot = GetXMLMappingNode();
|
| - pFakeXMLRoot = pThisXMLRoot ? pThisXMLRoot->Clone(FALSE) : NULL;
|
| + pFakeXMLRoot = pThisXMLRoot ? pThisXMLRoot->Clone(FALSE) : nullptr;
|
| }
|
| if (!pFakeXMLRoot) {
|
| CFX_WideStringC wsClassName;
|
| @@ -1045,11 +1028,10 @@ void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) {
|
| CFDE_XMLNode* pTempXMLNode = GetXMLMappingNode();
|
| SetXMLMappingNode(pFakeXMLRoot);
|
| SetFlag(XFA_NODEFLAG_OwnXMLNode, false);
|
| - if (pTempXMLNode &&
|
| - pTempXMLNode->GetNodeItem(CFDE_XMLNode::Parent) == NULL) {
|
| + if (pTempXMLNode && !pTempXMLNode->GetNodeItem(CFDE_XMLNode::Parent)) {
|
| pFakeXMLRoot = pTempXMLNode;
|
| } else {
|
| - pFakeXMLRoot = NULL;
|
| + pFakeXMLRoot = nullptr;
|
| }
|
| }
|
| MoveBufferMapData(pFakeRoot, this, XFA_CalcData, TRUE);
|
| @@ -1071,13 +1053,13 @@ void CXFA_Node::Script_NodeClass_LoadXML(CFXJSE_Arguments* pArguments) {
|
| } else {
|
| if (pFakeXMLRoot) {
|
| pFakeXMLRoot->Release();
|
| - pFakeXMLRoot = NULL;
|
| + pFakeXMLRoot = nullptr;
|
| }
|
| }
|
| - pParser->Release();
|
| - pParser = NULL;
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_SaveFilteredXML(CFXJSE_Arguments* pArguments) {
|
| + // TODO(weili): Check whether we need to implement this, pdfium:501.
|
| }
|
|
|
| void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) {
|
| @@ -1086,13 +1068,13 @@ void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) {
|
| ThrowScriptErrorMessage(XFA_IDS_INCORRECT_NUMBER_OF_METHOD, L"saveXML");
|
| return;
|
| }
|
| - FX_BOOL bPrettyMode = FALSE;
|
| + bool bPrettyMode = false;
|
| if (iLength == 1) {
|
| if (pArguments->GetUTF8String(0) != "pretty") {
|
| ThrowScriptErrorMessage(XFA_IDS_ARGUMENT_MISMATCH);
|
| return;
|
| }
|
| - bPrettyMode = TRUE;
|
| + bPrettyMode = true;
|
| }
|
| CFX_ByteStringC bsXMLHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
|
| if (GetPacketID() == XFA_XDPPACKET_Form ||
|
| @@ -1106,11 +1088,13 @@ void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) {
|
| }
|
| XFA_DataExporter_DealWithDataGroupNode(this);
|
| }
|
| - std::unique_ptr<IFX_MemoryStream> pMemoryStream(
|
| - FX_CreateMemoryStream(TRUE));
|
| - std::unique_ptr<IFX_Stream> pStream(IFX_Stream::CreateStream(
|
| - (IFX_FileWrite*)pMemoryStream.get(),
|
| - FX_STREAMACCESS_Text | FX_STREAMACCESS_Write | FX_STREAMACCESS_Append));
|
| + std::unique_ptr<IFX_MemoryStream, ReleaseDeleter<IFX_MemoryStream>>
|
| + pMemoryStream(FX_CreateMemoryStream(TRUE));
|
| + std::unique_ptr<IFX_Stream, ReleaseDeleter<IFX_Stream>> pStream(
|
| + IFX_Stream::CreateStream(
|
| + static_cast<IFX_FileWrite*>(pMemoryStream.get()),
|
| + FX_STREAMACCESS_Text | FX_STREAMACCESS_Write |
|
| + FX_STREAMACCESS_Append));
|
| if (!pStream) {
|
| FXJSE_Value_SetUTF8String(pArguments->GetReturnValue(), bsXMLHeader);
|
| return;
|
| @@ -1118,7 +1102,7 @@ void CXFA_Node::Script_NodeClass_SaveXML(CFXJSE_Arguments* pArguments) {
|
| pStream->SetCodePage(FX_CODEPAGE_UTF8);
|
| pStream->WriteData(bsXMLHeader.raw_str(), bsXMLHeader.GetLength());
|
| if (GetPacketID() == XFA_XDPPACKET_Form)
|
| - XFA_DataExporter_RegenerateFormFile(this, pStream.get(), NULL, TRUE);
|
| + XFA_DataExporter_RegenerateFormFile(this, pStream.get(), nullptr, TRUE);
|
| else
|
| pElement->SaveXMLNode(pStream.get());
|
| // TODO(weili): Check whether we need to save pretty print XML, pdfium:501.
|
| @@ -1143,7 +1127,7 @@ void CXFA_Node::Script_NodeClass_SetAttribute(CFXJSE_Arguments* pArguments) {
|
| CFX_WideString::FromUTF8(pArguments->GetUTF8String(0).AsStringC());
|
| CFX_WideString wsAttribute =
|
| CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC());
|
| - SetAttribute(wsAttribute.AsStringC(), wsAttributeValue.AsStringC(), TRUE);
|
| + SetAttribute(wsAttribute.AsStringC(), wsAttributeValue.AsStringC(), true);
|
| }
|
|
|
| void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) {
|
| @@ -1154,11 +1138,9 @@ void CXFA_Node::Script_NodeClass_SetElement(CFXJSE_Arguments* pArguments) {
|
| }
|
| CXFA_Node* pNode = nullptr;
|
| CFX_WideString wsName;
|
| - if (iLength >= 1)
|
| - pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| - if (iLength >= 2) {
|
| + pNode = static_cast<CXFA_Node*>(pArguments->GetObject(0));
|
| + if (iLength == 2)
|
| wsName = CFX_WideString::FromUTF8(pArguments->GetUTF8String(1).AsStringC());
|
| - }
|
| // TODO(weili): check whether we need to implement this, pdfium:501.
|
| // For now, just put the variables here to avoid unused variable warning.
|
| (void)pNode;
|
| @@ -1176,6 +1158,7 @@ void CXFA_Node::Script_NodeClass_Ns(CFXJSE_Value* pValue,
|
| FXJSE_Value_SetUTF8String(pValue, FX_UTF8Encode(wsNameSpace).AsStringC());
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -1186,15 +1169,16 @@ void CXFA_Node::Script_NodeClass_Model(CFXJSE_Value* pValue,
|
| GetModelNode()));
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_IsContainer(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| - if (bSetting) {
|
| + if (bSetting)
|
| ThrowScriptErrorMessage(XFA_IDS_INVAlID_PROP_SET);
|
| - } else {
|
| + else
|
| FXJSE_Value_SetBoolean(pValue, IsContainerNode());
|
| - }
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -1209,6 +1193,7 @@ void CXFA_Node::Script_NodeClass_IsNull(CFXJSE_Value* pValue,
|
| FXJSE_Value_SetBoolean(pValue, !TryContent(strValue) || strValue.IsEmpty());
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| XFA_ATTRIBUTE eAttribute) {
|
| @@ -1224,6 +1209,7 @@ void CXFA_Node::Script_NodeClass_OneOfChild(CFXJSE_Value* pValue,
|
| }
|
| }
|
| }
|
| +
|
| void CXFA_Node::Script_ContainerClass_GetDelta(CFXJSE_Arguments* pArguments) {}
|
| void CXFA_Node::Script_ContainerClass_GetDeltas(CFXJSE_Arguments* pArguments) {
|
| CXFA_ArrayNodeList* pFormNodes = new CXFA_ArrayNodeList(m_pDocument);
|
| @@ -1473,7 +1459,7 @@ void CXFA_Node::Script_Attribute_String(CFXJSE_Value* pValue,
|
| wsSOM = wsUseVal;
|
| }
|
| }
|
| - CXFA_Node* pProtoNode = NULL;
|
| + CXFA_Node* pProtoNode = nullptr;
|
| if (!wsSOM.IsEmpty()) {
|
| uint32_t dwFlag = XFA_RESOLVENODE_Children |
|
| XFA_RESOLVENODE_Attributes |
|
| @@ -1651,7 +1637,7 @@ void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue,
|
| }
|
| CFX_WideString wsNewValue = CFX_WideString::FromUTF8(newValue.AsStringC());
|
| CFX_WideString wsFormatValue(wsNewValue);
|
| - CXFA_WidgetData* pContainerWidgetData = NULL;
|
| + CXFA_WidgetData* pContainerWidgetData = nullptr;
|
| if (GetPacketID() == XFA_XDPPACKET_Datasets) {
|
| CXFA_NodeArray formNodes;
|
| GetBindItems(formNodes);
|
| @@ -1669,7 +1655,7 @@ void CXFA_Node::Script_Som_DefaultValue(CFXJSE_Value* pValue,
|
| if (!wsPicture.IsEmpty()) {
|
| break;
|
| }
|
| - pContainerWidgetData = NULL;
|
| + pContainerWidgetData = nullptr;
|
| }
|
| } else if (GetPacketID() == XFA_XDPPACKET_Form) {
|
| pContainerWidgetData = GetContainerWidgetData();
|
| @@ -2500,7 +2486,7 @@ static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode,
|
| CFX_WideStringC wsInstName = pInstMgrNode->GetCData(XFA_ATTRIBUTE_Name);
|
| if (wsInstName.GetLength() < 1 || wsInstName.GetAt(0) != '_' ||
|
| wsInstName.Mid(1) != wsName) {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| dwNameHash = pNode->GetNameHash();
|
| }
|
| @@ -2512,7 +2498,7 @@ static CXFA_Node* XFA_ScriptInstanceManager_GetItem(CXFA_Node* pInstMgrNode,
|
| return pNode;
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| void CXFA_Node::Script_Som_InstanceIndex(CFXJSE_Value* pValue,
|
| FX_BOOL bSetting,
|
| @@ -2520,7 +2506,7 @@ void CXFA_Node::Script_Som_InstanceIndex(CFXJSE_Value* pValue,
|
| if (bSetting) {
|
| int32_t iTo = FXJSE_Value_ToInteger(pValue);
|
| int32_t iFrom = Subform_and_SubformSet_InstanceIndex();
|
| - CXFA_Node* pManagerNode = NULL;
|
| + CXFA_Node* pManagerNode = nullptr;
|
| for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode;
|
| pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) {
|
| if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) {
|
| @@ -2554,7 +2540,7 @@ void CXFA_Node::Script_Subform_InstanceManager(CFXJSE_Value* pValue,
|
| XFA_ATTRIBUTE eAttribute) {
|
| if (!bSetting) {
|
| CFX_WideStringC wsName = GetCData(XFA_ATTRIBUTE_Name);
|
| - CXFA_Node* pInstanceMgr = NULL;
|
| + CXFA_Node* pInstanceMgr = nullptr;
|
| for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_PrevSibling); pNode;
|
| pNode = pNode->GetNodeItem(XFA_NODEITEM_PrevSibling)) {
|
| if (pNode->GetClassID() == XFA_ELEMENT_InstanceManager) {
|
| @@ -3053,7 +3039,7 @@ static void XFA_ScriptInstanceManager_RemoveItem(
|
| pDataParent->RemoveChild(pDataNode);
|
| }
|
| }
|
| - pFormNode->SetObject(XFA_ATTRIBUTE_BindingNode, NULL);
|
| + pFormNode->SetObject(XFA_ATTRIBUTE_BindingNode, nullptr);
|
| }
|
| }
|
| static CXFA_Node* XFA_ScriptInstanceManager_CreateInstance(
|
| @@ -3062,7 +3048,7 @@ static CXFA_Node* XFA_ScriptInstanceManager_CreateInstance(
|
| CXFA_Document* pDocument = pInstMgrNode->GetDocument();
|
| CXFA_Node* pTemplateNode = pInstMgrNode->GetTemplateNode();
|
| CXFA_Node* pFormParent = pInstMgrNode->GetNodeItem(XFA_NODEITEM_Parent);
|
| - CXFA_Node* pDataScope = NULL;
|
| + CXFA_Node* pDataScope = nullptr;
|
| for (CXFA_Node* pRootBoundNode = pFormParent;
|
| pRootBoundNode &&
|
| pRootBoundNode->GetObjectType() == XFA_OBJECTTYPE_ContainerNode;
|
| @@ -3719,9 +3705,9 @@ FX_BOOL CXFA_Node::SetAttribute(XFA_ATTRIBUTE eAttr,
|
| const CFX_WideStringC& wsValue,
|
| bool bNotify) {
|
| const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(eAttr);
|
| - if (pAttr == NULL) {
|
| + if (!pAttr)
|
| return FALSE;
|
| - }
|
| +
|
| XFA_ATTRIBUTETYPE eType = pAttr->eType;
|
| if (eType == XFA_ATTRIBUTETYPE_NOTSURE) {
|
| const XFA_NOTSUREATTRIBUTE* pNotsure =
|
| @@ -3756,7 +3742,7 @@ FX_BOOL CXFA_Node::GetAttribute(XFA_ATTRIBUTE eAttr,
|
| CFX_WideString& wsValue,
|
| FX_BOOL bUseDefault) {
|
| const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(eAttr);
|
| - if (pAttr == NULL) {
|
| + if (!pAttr) {
|
| return FALSE;
|
| }
|
| XFA_ATTRIBUTETYPE eType = pAttr->eType;
|
| @@ -3844,30 +3830,27 @@ FX_BOOL CXFA_Node::RemoveAttribute(const CFX_WideStringC& wsAttr) {
|
| FX_BOOL CXFA_Node::TryBoolean(XFA_ATTRIBUTE eAttr,
|
| FX_BOOL& bValue,
|
| FX_BOOL bUseDefault) {
|
| - void* pValue = NULL;
|
| - if (!GetValue(eAttr, XFA_ATTRIBUTETYPE_Boolean, bUseDefault, pValue)) {
|
| + void* pValue = nullptr;
|
| + if (!GetValue(eAttr, XFA_ATTRIBUTETYPE_Boolean, bUseDefault, pValue))
|
| return FALSE;
|
| - }
|
| bValue = (FX_BOOL)(uintptr_t)pValue;
|
| return TRUE;
|
| }
|
| FX_BOOL CXFA_Node::TryInteger(XFA_ATTRIBUTE eAttr,
|
| int32_t& iValue,
|
| FX_BOOL bUseDefault) {
|
| - void* pValue = NULL;
|
| - if (!GetValue(eAttr, XFA_ATTRIBUTETYPE_Integer, bUseDefault, pValue)) {
|
| + void* pValue = nullptr;
|
| + if (!GetValue(eAttr, XFA_ATTRIBUTETYPE_Integer, bUseDefault, pValue))
|
| return FALSE;
|
| - }
|
| iValue = (int32_t)(uintptr_t)pValue;
|
| return TRUE;
|
| }
|
| FX_BOOL CXFA_Node::TryEnum(XFA_ATTRIBUTE eAttr,
|
| XFA_ATTRIBUTEENUM& eValue,
|
| FX_BOOL bUseDefault) {
|
| - void* pValue = NULL;
|
| - if (!GetValue(eAttr, XFA_ATTRIBUTETYPE_Enum, bUseDefault, pValue)) {
|
| + void* pValue = nullptr;
|
| + if (!GetValue(eAttr, XFA_ATTRIBUTETYPE_Enum, bUseDefault, pValue))
|
| return FALSE;
|
| - }
|
| eValue = (XFA_ATTRIBUTEENUM)(uintptr_t)pValue;
|
| return TRUE;
|
| }
|
| @@ -4048,7 +4031,7 @@ FX_BOOL CXFA_Node::TryCData(XFA_ATTRIBUTE eAttr,
|
| if (!bUseDefault) {
|
| return FALSE;
|
| }
|
| - void* pValue = NULL;
|
| + void* pValue = nullptr;
|
| if (XFA_GetAttributeDefaultValue(pValue, GetClassID(), eAttr,
|
| XFA_ATTRIBUTETYPE_Cdata, m_ePacket)) {
|
| wsValue = (const FX_WCHAR*)pValue;
|
| @@ -4075,7 +4058,7 @@ FX_BOOL CXFA_Node::TryCData(XFA_ATTRIBUTE eAttr,
|
| if (!bUseDefault) {
|
| return FALSE;
|
| }
|
| - void* pValue = NULL;
|
| + void* pValue = nullptr;
|
| if (XFA_GetAttributeDefaultValue(pValue, GetClassID(), eAttr,
|
| XFA_ATTRIBUTETYPE_Cdata, m_ePacket)) {
|
| wsValue = (CFX_WideStringC)(const FX_WCHAR*)pValue;
|
| @@ -4092,7 +4075,7 @@ FX_BOOL CXFA_Node::SetObject(XFA_ATTRIBUTE eAttr,
|
| FX_BOOL CXFA_Node::TryObject(XFA_ATTRIBUTE eAttr, void*& pData) {
|
| void* pKey = XFA_GetMapKey_Element(GetClassID(), eAttr);
|
| pData = GetUserData(pKey);
|
| - return pData != NULL;
|
| + return pData != nullptr;
|
| }
|
| FX_BOOL CXFA_Node::SetValue(XFA_ATTRIBUTE eAttr,
|
| XFA_ATTRIBUTETYPE eType,
|
| @@ -4145,7 +4128,7 @@ FX_BOOL CXFA_Node::GetValue(XFA_ATTRIBUTE eAttr,
|
| }
|
| static void XFA_DefaultFreeData(void* pData) {}
|
| static XFA_MAPDATABLOCKCALLBACKINFO gs_XFADefaultFreeData = {
|
| - XFA_DefaultFreeData, NULL};
|
| + XFA_DefaultFreeData, nullptr};
|
| FX_BOOL CXFA_Node::SetUserData(void* pKey,
|
| void* pData,
|
| XFA_MAPDATABLOCKCALLBACKINFO* pCallbackInfo) {
|
| @@ -4165,8 +4148,8 @@ FX_BOOL CXFA_Node::SetScriptContent(const CFX_WideString& wsContent,
|
| bool bNotify,
|
| FX_BOOL bScriptModify,
|
| FX_BOOL bSyncData) {
|
| - CXFA_Node* pNode = NULL;
|
| - CXFA_Node* pBindNode = NULL;
|
| + CXFA_Node* pNode = nullptr;
|
| + CXFA_Node* pBindNode = nullptr;
|
| switch (GetObjectType()) {
|
| case XFA_OBJECTTYPE_ContainerNode: {
|
| if (XFA_FieldIsMultiListBox(this)) {
|
| @@ -4209,7 +4192,7 @@ FX_BOOL CXFA_Node::SetScriptContent(const CFX_WideString& wsContent,
|
| valueNodes, XFA_NODEFILTER_Children, XFA_ELEMENT_DataValue);
|
| if (iDatas < iSize) {
|
| int32_t iAddNodes = iSize - iDatas;
|
| - CXFA_Node* pValueNodes = NULL;
|
| + CXFA_Node* pValueNodes = nullptr;
|
| while (iAddNodes-- > 0) {
|
| pValueNodes =
|
| pBind->CreateSamePacketNode(XFA_ELEMENT_DataValue);
|
| @@ -4217,7 +4200,7 @@ FX_BOOL CXFA_Node::SetScriptContent(const CFX_WideString& wsContent,
|
| pValueNodes->CreateXMLMappingNode();
|
| pBind->InsertChild(pValueNodes);
|
| }
|
| - pValueNodes = NULL;
|
| + pValueNodes = nullptr;
|
| } else if (iDatas > iSize) {
|
| int32_t iDelNodes = iDatas - iSize;
|
| while (iDelNodes-- > 0) {
|
| @@ -4269,7 +4252,7 @@ FX_BOOL CXFA_Node::SetScriptContent(const CFX_WideString& wsContent,
|
| pNode->SetScriptContent(wsContent, wsContent, bNotify, true, FALSE);
|
| }
|
| }
|
| - pBindNode = NULL;
|
| + pBindNode = nullptr;
|
| break;
|
| }
|
| case XFA_OBJECTTYPE_ContentNode: {
|
| @@ -4354,7 +4337,7 @@ CFX_WideString CXFA_Node::GetContent() {
|
| FX_BOOL CXFA_Node::TryContent(CFX_WideString& wsContent,
|
| FX_BOOL bScriptModify,
|
| FX_BOOL bProto) {
|
| - CXFA_Node* pNode = NULL;
|
| + CXFA_Node* pNode = nullptr;
|
| switch (GetObjectType()) {
|
| case XFA_OBJECTTYPE_ContainerNode:
|
| if (GetClassID() == XFA_ELEMENT_ExclGroup) {
|
| @@ -4475,9 +4458,9 @@ CXFA_Node* CXFA_Node::GetProperty(int32_t index,
|
| uint32_t dwPacket = GetPacketID();
|
| const XFA_PROPERTY* pProperty =
|
| XFA_GetPropertyOfElement(eElement, eProperty, dwPacket);
|
| - if (pProperty == NULL || index >= pProperty->uOccur) {
|
| - return NULL;
|
| - }
|
| + if (!pProperty || index >= pProperty->uOccur)
|
| + return nullptr;
|
| +
|
| CXFA_Node* pNode = m_pChild;
|
| int32_t iCount = 0;
|
| for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
|
| @@ -4488,17 +4471,16 @@ CXFA_Node* CXFA_Node::GetProperty(int32_t index,
|
| }
|
| }
|
| }
|
| - if (!bCreateProperty) {
|
| - return NULL;
|
| - }
|
| + if (!bCreateProperty)
|
| + return nullptr;
|
| +
|
| if (pProperty->uFlags & XFA_PROPERTYFLAG_OneOf) {
|
| pNode = m_pChild;
|
| for (; pNode; pNode = pNode->GetNodeItem(XFA_NODEITEM_NextSibling)) {
|
| const XFA_PROPERTY* pExistProperty =
|
| XFA_GetPropertyOfElement(eElement, pNode->GetClassID(), dwPacket);
|
| - if (pExistProperty && (pExistProperty->uFlags & XFA_PROPERTYFLAG_OneOf)) {
|
| - return NULL;
|
| - }
|
| + if (pExistProperty && (pExistProperty->uFlags & XFA_PROPERTYFLAG_OneOf))
|
| + return nullptr;
|
| }
|
| }
|
| CXFA_Document* pFactory = m_pDocument->GetParser()->GetFactory();
|
| @@ -4506,9 +4488,8 @@ CXFA_Node* CXFA_Node::GetProperty(int32_t index,
|
| CXFA_Node* pNewNode = nullptr;
|
| for (; iCount <= index; iCount++) {
|
| pNewNode = pFactory->CreateNode(pPacket, eProperty);
|
| - if (!pNewNode) {
|
| - return NULL;
|
| - }
|
| + if (!pNewNode)
|
| + return nullptr;
|
| InsertChild(pNewNode, nullptr);
|
| pNewNode->SetFlag(XFA_NODEFLAG_Initialized, true);
|
| }
|
| @@ -4552,7 +4533,7 @@ CXFA_Node* CXFA_Node::GetChild(int32_t index,
|
| }
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| int32_t CXFA_Node::InsertChild(int32_t index, CXFA_Node* pNode) {
|
| ASSERT(!pNode->m_pNext);
|
| @@ -4561,7 +4542,7 @@ int32_t CXFA_Node::InsertChild(int32_t index, CXFA_Node* pNode) {
|
| ASSERT(ret);
|
| (void)ret; // Avoid unused variable warning.
|
|
|
| - if (m_pChild == NULL || index == 0) {
|
| + if (!m_pChild || index == 0) {
|
| if (index > 0) {
|
| return -1;
|
| }
|
| @@ -4583,18 +4564,18 @@ int32_t CXFA_Node::InsertChild(int32_t index, CXFA_Node* pNode) {
|
| pPrev->m_pNext = pNode;
|
| index = iCount;
|
| }
|
| - if (pNode->m_pNext == NULL) {
|
| + if (!pNode->m_pNext) {
|
| m_pLastChild = pNode;
|
| }
|
| ASSERT(m_pLastChild);
|
| - ASSERT(m_pLastChild->m_pNext == NULL);
|
| + ASSERT(!m_pLastChild->m_pNext);
|
| pNode->ClearFlag(XFA_NODEFLAG_HasRemoved);
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| if (pNotify)
|
| pNotify->OnChildAdded(this);
|
|
|
| if (IsNeedSavingXMLNode() && pNode->m_pXMLNode) {
|
| - ASSERT(pNode->m_pXMLNode->GetNodeItem(CFDE_XMLNode::Parent) == NULL);
|
| + ASSERT(!pNode->m_pXMLNode->GetNodeItem(CFDE_XMLNode::Parent));
|
| m_pXMLNode->InsertChildNode(pNode->m_pXMLNode, index);
|
| pNode->ClearFlag(XFA_NODEFLAG_OwnXMLNode);
|
| }
|
| @@ -4613,7 +4594,7 @@ FX_BOOL CXFA_Node::InsertChild(CXFA_Node* pNode, CXFA_Node* pBeforeNode) {
|
|
|
| int32_t nIndex = -1;
|
| pNode->m_pParent = this;
|
| - if (m_pChild == NULL || pBeforeNode == m_pChild) {
|
| + if (!m_pChild || pBeforeNode == m_pChild) {
|
| pNode->m_pNext = m_pChild;
|
| m_pChild = pNode;
|
| nIndex = 0;
|
| @@ -4630,18 +4611,18 @@ FX_BOOL CXFA_Node::InsertChild(CXFA_Node* pNode, CXFA_Node* pBeforeNode) {
|
| pNode->m_pNext = pPrev->m_pNext;
|
| pPrev->m_pNext = pNode;
|
| }
|
| - if (pNode->m_pNext == NULL) {
|
| + if (!pNode->m_pNext) {
|
| m_pLastChild = pNode;
|
| }
|
| ASSERT(m_pLastChild);
|
| - ASSERT(m_pLastChild->m_pNext == NULL);
|
| + ASSERT(!m_pLastChild->m_pNext);
|
| pNode->ClearFlag(XFA_NODEFLAG_HasRemoved);
|
| CXFA_FFNotify* pNotify = m_pDocument->GetParser()->GetNotify();
|
| if (pNotify)
|
| pNotify->OnChildAdded(this);
|
|
|
| if (IsNeedSavingXMLNode() && pNode->m_pXMLNode) {
|
| - ASSERT(pNode->m_pXMLNode->GetNodeItem(CFDE_XMLNode::Parent) == NULL);
|
| + ASSERT(!pNode->m_pXMLNode->GetNodeItem(CFDE_XMLNode::Parent));
|
| m_pXMLNode->InsertChildNode(pNode->m_pXMLNode, nIndex);
|
| pNode->ClearFlag(XFA_NODEFLAG_OwnXMLNode);
|
| }
|
| @@ -4649,7 +4630,7 @@ FX_BOOL CXFA_Node::InsertChild(CXFA_Node* pNode, CXFA_Node* pBeforeNode) {
|
| }
|
| CXFA_Node* CXFA_Node::Deprecated_GetPrevSibling() {
|
| if (!m_pParent) {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| for (CXFA_Node* pSibling = m_pParent->m_pChild; pSibling;
|
| pSibling = pSibling->m_pNext) {
|
| @@ -4657,10 +4638,10 @@ CXFA_Node* CXFA_Node::Deprecated_GetPrevSibling() {
|
| return pSibling;
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| FX_BOOL CXFA_Node::RemoveChild(CXFA_Node* pNode, bool bNotify) {
|
| - if (pNode == NULL || pNode->m_pParent != this) {
|
| + if (!pNode || pNode->m_pParent != this) {
|
| ASSERT(FALSE);
|
| return FALSE;
|
| }
|
| @@ -4669,18 +4650,18 @@ FX_BOOL CXFA_Node::RemoveChild(CXFA_Node* pNode, bool bNotify) {
|
| if (m_pLastChild == pNode) {
|
| m_pLastChild = pNode->m_pNext;
|
| }
|
| - pNode->m_pNext = NULL;
|
| - pNode->m_pParent = NULL;
|
| + pNode->m_pNext = nullptr;
|
| + pNode->m_pParent = nullptr;
|
| } else {
|
| CXFA_Node* pPrev = pNode->Deprecated_GetPrevSibling();
|
| pPrev->m_pNext = pNode->m_pNext;
|
| if (m_pLastChild == pNode) {
|
| m_pLastChild = pNode->m_pNext ? pNode->m_pNext : pPrev;
|
| }
|
| - pNode->m_pNext = NULL;
|
| - pNode->m_pParent = NULL;
|
| + pNode->m_pNext = nullptr;
|
| + pNode->m_pParent = nullptr;
|
| }
|
| - ASSERT(m_pLastChild == NULL || m_pLastChild->m_pNext == NULL);
|
| + ASSERT(!m_pLastChild || !m_pLastChild->m_pNext);
|
| OnRemoved(bNotify);
|
| pNode->SetFlag(XFA_NODEFLAG_HasRemoved, true);
|
| m_pDocument->AddPurgeNode(pNode);
|
| @@ -4721,7 +4702,7 @@ CXFA_Node* CXFA_Node::GetFirstChildByName(uint32_t dwNameHash) const {
|
| return pNode;
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| CXFA_Node* CXFA_Node::GetFirstChildByClass(XFA_ELEMENT eElement) const {
|
| for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_FirstChild); pNode;
|
| @@ -4730,7 +4711,7 @@ CXFA_Node* CXFA_Node::GetFirstChildByClass(XFA_ELEMENT eElement) const {
|
| return pNode;
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| CXFA_Node* CXFA_Node::GetNextSameNameSibling(uint32_t dwNameHash) const {
|
| for (CXFA_Node* pNode = GetNodeItem(XFA_NODEITEM_NextSibling); pNode;
|
| @@ -4739,7 +4720,7 @@ CXFA_Node* CXFA_Node::GetNextSameNameSibling(uint32_t dwNameHash) const {
|
| return pNode;
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| CXFA_Node* CXFA_Node::GetNextSameNameSibling(
|
| const CFX_WideStringC& wsNodeName) const {
|
| @@ -4752,7 +4733,7 @@ CXFA_Node* CXFA_Node::GetNextSameClassSibling(XFA_ELEMENT eElement) const {
|
| return pNode;
|
| }
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| int32_t CXFA_Node::GetNodeSameNameIndex() const {
|
| CXFA_ScriptContext* pScriptContext = m_pDocument->GetScriptContext();
|
| @@ -4776,7 +4757,7 @@ void CXFA_Node::GetSOMExpression(CFX_WideString& wsSOMExpression) {
|
| pScriptContext->GetSomExpression(this, wsSOMExpression);
|
| }
|
| CXFA_Node* CXFA_Node::GetInstanceMgrOfSubform() {
|
| - CXFA_Node* pInstanceMgr = NULL;
|
| + CXFA_Node* pInstanceMgr = nullptr;
|
| if (m_ePacket == XFA_XDPPACKET_Form) {
|
| CXFA_Node* pParentNode = GetNodeItem(XFA_NODEITEM_Parent);
|
| if (!pParentNode || pParentNode->GetClassID() == XFA_ELEMENT_Area) {
|
| @@ -4972,7 +4953,7 @@ FX_BOOL CXFA_Node::GetMapModuleValue(void* pKey, void*& pValue) {
|
| }
|
| pNode = pNode->GetPacketID() != XFA_XDPPACKET_Datasets
|
| ? pNode->GetTemplateNode()
|
| - : NULL;
|
| + : nullptr;
|
| }
|
| return FALSE;
|
| }
|
| @@ -4996,7 +4977,7 @@ void CXFA_Node::SetMapModuleBuffer(
|
| XFA_MAPDATABLOCKCALLBACKINFO* pCallbackInfo) {
|
| XFA_MAPMODULEDATA* pModule = CreateMapModuleData();
|
| XFA_MAPDATABLOCK*& pBuffer = pModule->m_BufferMap[pKey];
|
| - if (pBuffer == NULL) {
|
| + if (!pBuffer) {
|
| pBuffer =
|
| (XFA_MAPDATABLOCK*)FX_Alloc(uint8_t, sizeof(XFA_MAPDATABLOCK) + iBytes);
|
| } else if (pBuffer->iBytes != iBytes) {
|
| @@ -5008,9 +4989,9 @@ void CXFA_Node::SetMapModuleBuffer(
|
| } else if (pBuffer->pCallbackInfo && pBuffer->pCallbackInfo->pFree) {
|
| pBuffer->pCallbackInfo->pFree(*(void**)pBuffer->GetData());
|
| }
|
| - if (pBuffer == NULL) {
|
| + if (!pBuffer)
|
| return;
|
| - }
|
| +
|
| pBuffer->pCallbackInfo = pCallbackInfo;
|
| pBuffer->iBytes = iBytes;
|
| FXSYS_memcpy(pBuffer->GetData(), pValue, iBytes);
|
| @@ -5019,7 +5000,7 @@ FX_BOOL CXFA_Node::GetMapModuleBuffer(void* pKey,
|
| void*& pValue,
|
| int32_t& iBytes,
|
| FX_BOOL bProtoAlso) const {
|
| - XFA_MAPDATABLOCK* pBuffer = NULL;
|
| + XFA_MAPDATABLOCK* pBuffer = nullptr;
|
| const CXFA_Node* pNode = this;
|
| while (pNode) {
|
| XFA_MAPMODULEDATA* pModule = pNode->GetMapModuleData();
|
| @@ -5028,9 +5009,9 @@ FX_BOOL CXFA_Node::GetMapModuleBuffer(void* pKey,
|
| }
|
| pNode = (bProtoAlso && pNode->GetPacketID() != XFA_XDPPACKET_Datasets)
|
| ? pNode->GetTemplateNode()
|
| - : NULL;
|
| + : nullptr;
|
| }
|
| - if (pBuffer == NULL) {
|
| + if (!pBuffer) {
|
| return FALSE;
|
| }
|
| pValue = pBuffer->GetData();
|
| @@ -5049,7 +5030,7 @@ FX_BOOL CXFA_Node::HasMapModuleKey(void* pKey, FX_BOOL bProtoAlso) {
|
| }
|
| pNode = (bProtoAlso && pNode->GetPacketID() != XFA_XDPPACKET_Datasets)
|
| ? pNode->GetTemplateNode()
|
| - : NULL;
|
| + : nullptr;
|
| }
|
| return FALSE;
|
| }
|
| @@ -5059,7 +5040,7 @@ void CXFA_Node::RemoveMapModuleKey(void* pKey) {
|
| return;
|
|
|
| if (pKey) {
|
| - XFA_MAPDATABLOCK* pBuffer = NULL;
|
| + XFA_MAPDATABLOCK* pBuffer = nullptr;
|
| pModule->m_BufferMap.Lookup(pKey, pBuffer);
|
| if (pBuffer) {
|
| if (pBuffer->pCallbackInfo && pBuffer->pCallbackInfo->pFree) {
|
| @@ -5119,7 +5100,7 @@ void CXFA_Node::MergeAllData(void* pDstModule, FX_BOOL bUseSrcAttr) {
|
| }
|
| continue;
|
| }
|
| - if (pBuffer == NULL) {
|
| + if (!pBuffer) {
|
| pBuffer = (XFA_MAPDATABLOCK*)FX_Alloc(
|
| uint8_t, sizeof(XFA_MAPDATABLOCK) + pSrcBuffer->iBytes);
|
| } else if (pBuffer->iBytes != pSrcBuffer->iBytes) {
|
| @@ -5131,7 +5112,7 @@ void CXFA_Node::MergeAllData(void* pDstModule, FX_BOOL bUseSrcAttr) {
|
| } else if (pBuffer->pCallbackInfo && pBuffer->pCallbackInfo->pFree) {
|
| pBuffer->pCallbackInfo->pFree(*(void**)pBuffer->GetData());
|
| }
|
| - if (pBuffer == NULL) {
|
| + if (!pBuffer) {
|
| continue;
|
| }
|
| pBuffer->pCallbackInfo = pSrcBuffer->pCallbackInfo;
|
| @@ -5153,8 +5134,8 @@ void CXFA_Node::MoveBufferMapData(CXFA_Node* pDstModule, void* pKey) {
|
| if (pDstModule->GetClassID() != GetClassID()) {
|
| bNeedMove = FALSE;
|
| }
|
| - XFA_MAPMODULEDATA* pSrcModuleData = NULL;
|
| - XFA_MAPMODULEDATA* pDstModuleData = NULL;
|
| + XFA_MAPMODULEDATA* pSrcModuleData = nullptr;
|
| + XFA_MAPMODULEDATA* pDstModuleData = nullptr;
|
| if (bNeedMove) {
|
| pSrcModuleData = GetMapModuleData();
|
| if (!pSrcModuleData) {
|
| @@ -5211,7 +5192,7 @@ CXFA_Node* CXFA_NodeList::NamedItem(const CFX_WideStringC& wsName) {
|
| if (dwHashCode == ret->GetNameHash())
|
| return ret;
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| void CXFA_NodeList::Script_ListClass_Append(CFXJSE_Arguments* pArguments) {
|
| int32_t argc = pArguments->GetLength();
|
| @@ -5309,7 +5290,7 @@ FX_BOOL CXFA_ArrayNodeList::Append(CXFA_Node* pNode) {
|
| }
|
| FX_BOOL CXFA_ArrayNodeList::Insert(CXFA_Node* pNewNode,
|
| CXFA_Node* pBeforeNode) {
|
| - if (pBeforeNode == NULL) {
|
| + if (!pBeforeNode) {
|
| m_array.Add(pNewNode);
|
| } else {
|
| int32_t iSize = m_array.GetSize();
|
| @@ -5337,7 +5318,7 @@ CXFA_Node* CXFA_ArrayNodeList::Item(int32_t iIndex) {
|
| if (iIndex >= 0 && iIndex < iSize) {
|
| return m_array[iIndex];
|
| }
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| CXFA_AttachNodeList::CXFA_AttachNodeList(CXFA_Document* pDocument,
|
| CXFA_Node* pAttachNode)
|
|
|