diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-01-04 16:27:53 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-05 15:29:57 +0000 |
commit | a63f992c043bc64a11c1eee5c8e7c9af1860650e (patch) | |
tree | 01b87dc31244f752b579ebc9e50f658edf6e4d9c /xfa | |
parent | 9aeb0caba4cda9c6bd39ed079f88000a712f9890 (diff) | |
download | pdfium-a63f992c043bc64a11c1eee5c8e7c9af1860650e.tar.xz |
Convert CXFA_NodeHelper::GetNameExpression to return WideString
Change-Id: Id762e195632a691c392873113f01852686bbb55f
Reviewed-on: https://pdfium-review.googlesource.com/22262
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fxfa/parser/cxfa_nodehelper.cpp | 26 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_nodehelper.h | 8 |
2 files changed, 15 insertions, 19 deletions
diff --git a/xfa/fxfa/parser/cxfa_nodehelper.cpp b/xfa/fxfa/parser/cxfa_nodehelper.cpp index 2c3c46dbb5..98e4bdce42 100644 --- a/xfa/fxfa/parser/cxfa_nodehelper.cpp +++ b/xfa/fxfa/parser/cxfa_nodehelper.cpp @@ -230,24 +230,23 @@ int32_t CXFA_NodeHelper::GetIndex(CXFA_Node* pNode, return 0; } -void CXFA_NodeHelper::GetNameExpression(CXFA_Node* refNode, - WideString& wsName, - bool bIsAllPath, - XFA_LOGIC_TYPE eLogicType) { - wsName.clear(); +WideString CXFA_NodeHelper::GetNameExpression(CXFA_Node* refNode, + bool bIsAllPath, + XFA_LOGIC_TYPE eLogicType) { + WideString wsName; if (bIsAllPath) { - GetNameExpression(refNode, wsName, false, eLogicType); + wsName = GetNameExpression(refNode, false, eLogicType); WideString wsParent; CXFA_Node* parent = ResolveNodes_GetParent(refNode, XFA_LOGIC_NoTransparent); while (parent) { - GetNameExpression(parent, wsParent, false, eLogicType); + wsParent = GetNameExpression(parent, false, eLogicType); wsParent += L"."; wsParent += wsName; wsName = wsParent; parent = ResolveNodes_GetParent(parent, XFA_LOGIC_NoTransparent); } - return; + return wsName; } WideString ws; @@ -255,16 +254,13 @@ void CXFA_NodeHelper::GetNameExpression(CXFA_Node* refNode, if (refNode->IsUnnamed() || (bIsProperty && refNode->GetElementType() != XFA_Element::PageSet)) { ws = refNode->GetClassName(); - wsName = - WideString::Format(L"#%ls[%d]", ws.c_str(), - GetIndex(refNode, eLogicType, bIsProperty, true)); - return; + return WideString::Format(L"#%ls[%d]", ws.c_str(), + GetIndex(refNode, eLogicType, bIsProperty, true)); } ws = refNode->JSObject()->GetCData(XFA_Attribute::Name); ws.Replace(L".", L"\\."); - wsName = - WideString::Format(L"%ls[%d]", ws.c_str(), - GetIndex(refNode, eLogicType, bIsProperty, false)); + return WideString::Format(L"%ls[%d]", ws.c_str(), + GetIndex(refNode, eLogicType, bIsProperty, false)); } bool CXFA_NodeHelper::NodeIsTransparent(CXFA_Node* refNode) { diff --git a/xfa/fxfa/parser/cxfa_nodehelper.h b/xfa/fxfa/parser/cxfa_nodehelper.h index 394259e53d..e13387ec9e 100644 --- a/xfa/fxfa/parser/cxfa_nodehelper.h +++ b/xfa/fxfa/parser/cxfa_nodehelper.h @@ -48,10 +48,10 @@ class CXFA_NodeHelper { XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent, bool bIsProperty = false, bool bIsClassIndex = false); - void GetNameExpression(CXFA_Node* refNode, - WideString& wsName, - bool bIsAllPath, - XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent); + WideString GetNameExpression( + CXFA_Node* refNode, + bool bIsAllPath, + XFA_LOGIC_TYPE eLogicType = XFA_LOGIC_NoTransparent); bool NodeIsTransparent(CXFA_Node* refNode); bool ResolveNodes_CreateNode(WideString wsName, WideString wsCondition, |