summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_dataexporter.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-11-27 18:28:06 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-27 18:28:06 +0000
commitf351ba03ebf31103c0a6a0c00b1477d39c060139 (patch)
treedf924970828054a2ec8c1fa00c7546a15de106c8 /xfa/fxfa/parser/cxfa_dataexporter.cpp
parent9f0bba48c208722c8d05eaa5382254f3183c65b7 (diff)
downloadpdfium-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.cpp16
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;
}