diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-11-27 18:10:47 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-27 18:10:47 +0000 |
commit | f473672fd6305fe97c749bde3b92e3c9c90e88d0 (patch) | |
tree | fe1ec0af4f66a801c7a08fd762e61b065b89d4ec /xfa/fxfa/parser/cxfa_dataexporter.cpp | |
parent | 3636a854af15219fd679ed54207abcdad3283b9b (diff) | |
download | pdfium-f473672fd6305fe97c749bde3b92e3c9c90e88d0.tar.xz |
Generate XFA node classes
This CL adds concrete classes for each of the XFA Node types.
Change-Id: Ieac8e2fcd5d13c61daa27fc63e3d80abb7aa7a29
Reviewed-on: https://pdfium-review.googlesource.com/18271
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_dataexporter.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_dataexporter.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/xfa/fxfa/parser/cxfa_dataexporter.cpp b/xfa/fxfa/parser/cxfa_dataexporter.cpp index e8a37719fe..f28649fffa 100644 --- a/xfa/fxfa/parser/cxfa_dataexporter.cpp +++ b/xfa/fxfa/parser/cxfa_dataexporter.cpp @@ -170,11 +170,12 @@ void RegenerateFormFile_Changed(CXFA_Node* pNode, CFX_WideTextBuf& buf, bool bSaveXML) { WideString wsAttrs; - int32_t iAttrs = 0; - const XFA_Attribute* pAttrs = - XFA_GetElementAttributes(pNode->GetElementType(), iAttrs); - while (iAttrs--) { - const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(pAttrs[iAttrs]); + for (size_t i = 0;; ++i) { + XFA_Attribute attr = pNode->GetAttribute(i); + if (attr == XFA_Attribute::Unknown) + break; + + const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(attr); if (pAttr->eName == XFA_Attribute::Name || (AttributeSaveInDataModel(pNode, pAttr->eName) && !bSaveXML)) { continue; @@ -355,11 +356,12 @@ void RegenerateFormFile_Container( SaveAttribute(pNode, XFA_Attribute::Name, L"name", true, wsOutput); WideString wsAttrs; - int32_t iAttrs = 0; - const XFA_Attribute* pAttrs = - XFA_GetElementAttributes(pNode->GetElementType(), iAttrs); - while (iAttrs--) { - const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(pAttrs[iAttrs]); + for (size_t i = 0;; ++i) { + XFA_Attribute attr = pNode->GetAttribute(i); + if (attr == XFA_Attribute::Unknown) + break; + + const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(attr); if (pAttr->eName == XFA_Attribute::Name) continue; |