diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-11-27 18:28:06 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-27 18:28:06 +0000 |
commit | f351ba03ebf31103c0a6a0c00b1477d39c060139 (patch) | |
tree | df924970828054a2ec8c1fa00c7546a15de106c8 /xfa/fxfa/parser/cxfa_dataexporter.cpp | |
parent | 9f0bba48c208722c8d05eaa5382254f3183c65b7 (diff) | |
download | pdfium-f351ba03ebf31103c0a6a0c00b1477d39c060139.tar.xz |
Add some helpers for attribute lookup
This CL adds helpers to CXFA_Node to convert from strings to attributes
and from attributes to their string names. A static_assert was added to
make sure the list of attributes is the same size as the attribute data
so the checks can be removed.
Change-Id: Idebc65021d71f604bcf498e4cf42252af00d802b
Reviewed-on: https://pdfium-review.googlesource.com/19270
Reviewed-by: Henrique Nakashima <hnakashima@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 | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/xfa/fxfa/parser/cxfa_dataexporter.cpp b/xfa/fxfa/parser/cxfa_dataexporter.cpp index f28649fffa..edb7e1e186 100644 --- a/xfa/fxfa/parser/cxfa_dataexporter.cpp +++ b/xfa/fxfa/parser/cxfa_dataexporter.cpp @@ -87,7 +87,7 @@ WideString ExportEncodeContent(const WideString& str) { void SaveAttribute(CXFA_Node* pNode, XFA_Attribute eName, - const WideStringView& wsName, + const WideString& wsName, bool bProto, WideString& wsOutput) { if (!bProto && !pNode->JSNode()->HasAttribute(eName)) @@ -175,13 +175,13 @@ void RegenerateFormFile_Changed(CXFA_Node* pNode, if (attr == XFA_Attribute::Unknown) break; - const XFA_ATTRIBUTEINFO* pAttr = XFA_GetAttributeByID(attr); - if (pAttr->eName == XFA_Attribute::Name || - (AttributeSaveInDataModel(pNode, pAttr->eName) && !bSaveXML)) { + if (attr == XFA_Attribute::Name || + (AttributeSaveInDataModel(pNode, attr) && !bSaveXML)) { continue; } WideString wsAttr; - SaveAttribute(pNode, pAttr->eName, pAttr->pName, bSaveXML, wsAttr); + SaveAttribute(pNode, attr, CXFA_Node::AttributeToName(attr), bSaveXML, + wsAttr); wsAttrs += wsAttr; } @@ -360,13 +360,11 @@ void RegenerateFormFile_Container( 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) + if (attr == XFA_Attribute::Name) continue; WideString wsAttr; - SaveAttribute(pNode, pAttr->eName, pAttr->pName, false, wsAttr); + SaveAttribute(pNode, attr, CXFA_Node::AttributeToName(attr), false, wsAttr); wsOutput += wsAttr; } |