Change CXFA_Node::GetClassName to return

CXFA_Node::GetClassName currently takes an out parameter and returns void. This
CL updates the signature to return the value and require no parameters.

Review-Url: https://codereview.chromium.org/2104963002
diff --git a/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp b/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
index 88e3527..37d52a9 100644
--- a/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
+++ b/xfa/fxfa/fm2js/xfa_fm2jscontext.cpp
@@ -6258,12 +6258,9 @@
         CFX_WideString wsName;
         if (CXFA_Node* pXFANode = pNode->AsNode())
           pXFANode->GetAttribute(XFA_ATTRIBUTE_Name, wsName, FALSE);
+        if (wsName.IsEmpty())
+          wsName = FX_WSTRC(L"#") + pNode->GetClassName();
 
-        if (wsName.IsEmpty()) {
-          CFX_WideStringC className;
-          pNode->GetClassName(className);
-          wsName = FX_WSTRC(L"#") + className;
-        }
         wsSomExpression = wsName + wsSomExpression;
         dFlags = XFA_RESOLVENODE_Siblings;
       } else {
diff --git a/xfa/fxfa/parser/xfa_document_serialize.cpp b/xfa/fxfa/parser/xfa_document_serialize.cpp
index 52aa585..febfa3e 100644
--- a/xfa/fxfa/parser/xfa_document_serialize.cpp
+++ b/xfa/fxfa/parser/xfa_document_serialize.cpp
@@ -347,8 +347,7 @@
   }
   if (!wsChildren.IsEmpty() || !wsAttrs.IsEmpty() ||
       pNode->HasAttribute(XFA_ATTRIBUTE_Name)) {
-    CFX_WideStringC wsElement;
-    pNode->GetClassName(wsElement);
+    CFX_WideStringC wsElement = pNode->GetClassName();
     CFX_WideString wsName;
     XFA_SaveAttribute(pNode, XFA_ATTRIBUTE_Name, FX_WSTRC(L"name"), TRUE,
                       wsName);
@@ -382,8 +381,7 @@
     }
     return;
   }
-  CFX_WideStringC wsElement;
-  pNode->GetClassName(wsElement);
+  CFX_WideStringC wsElement = pNode->GetClassName();
   pStream->WriteString(L"<", 1);
   pStream->WriteString(wsElement.c_str(), wsElement.GetLength());
   CFX_WideString wsOutput;
diff --git a/xfa/fxfa/parser/xfa_object.h b/xfa/fxfa/parser/xfa_object.h
index fd73d8b..a838b17 100644
--- a/xfa/fxfa/parser/xfa_object.h
+++ b/xfa/fxfa/parser/xfa_object.h
@@ -84,7 +84,7 @@
   const CXFA_NodeList* AsNodeList() const;
 
   XFA_Element GetElementType() const;
-  void GetClassName(CFX_WideStringC& wsName) const;
+  CFX_WideStringC GetClassName() const;
   uint32_t GetClassHashCode() const;
   void Script_ObjectClass_ClassName(CFXJSE_Value* pValue,
                                     FX_BOOL bSetting,
diff --git a/xfa/fxfa/parser/xfa_object_imp.cpp b/xfa/fxfa/parser/xfa_object_imp.cpp
index 04b33b4..99198d2 100644
--- a/xfa/fxfa/parser/xfa_object_imp.cpp
+++ b/xfa/fxfa/parser/xfa_object_imp.cpp
@@ -61,8 +61,8 @@
 
 CXFA_Object::~CXFA_Object() {}
 
-void CXFA_Object::GetClassName(CFX_WideStringC& wsName) const {
-  wsName = XFA_GetElementByID(GetElementType())->pName;
+CFX_WideStringC CXFA_Object::GetClassName() const {
+  return XFA_GetElementByID(GetElementType())->pName;
 }
 
 uint32_t CXFA_Object::GetClassHashCode() const {
@@ -77,8 +77,7 @@
                                                FX_BOOL bSetting,
                                                XFA_ATTRIBUTE eAttribute) {
   if (!bSetting) {
-    CFX_WideStringC className;
-    GetClassName(className);
+    CFX_WideStringC className = GetClassName();
     pValue->SetString(
         FX_UTF8Encode(className.c_str(), className.GetLength()).AsStringC());
   } else {
@@ -751,9 +750,8 @@
     ThrowException(XFA_IDS_INVAlID_PROP_SET);
   } else {
     uint32_t dwFlag = XFA_RESOLVENODE_Siblings | XFA_RESOLVENODE_ALL;
-    CFX_WideStringC wsName;
-    GetClassName(wsName);
-    CFX_WideString wsExpression = FX_WSTRC(L"#") + wsName + FX_WSTRC(L"[*]");
+    CFX_WideString wsExpression =
+        FX_WSTRC(L"#") + GetClassName() + FX_WSTRC(L"[*]");
     Script_Som_ResolveNodeList(pValue, wsExpression, dwFlag);
   }
 }
@@ -965,11 +963,9 @@
     CFDE_XMLNode* pThisXMLRoot = GetXMLMappingNode();
     pFakeXMLRoot = pThisXMLRoot ? pThisXMLRoot->Clone(FALSE) : nullptr;
   }
-  if (!pFakeXMLRoot) {
-    CFX_WideStringC wsClassName;
-    GetClassName(wsClassName);
-    pFakeXMLRoot = new CFDE_XMLElement(CFX_WideString(wsClassName));
-  }
+  if (!pFakeXMLRoot)
+    pFakeXMLRoot = new CFDE_XMLElement(CFX_WideString(GetClassName()));
+
   if (bIgnoreRoot) {
     CFDE_XMLNode* pXMLChild = pXMLNode->GetNodeItem(CFDE_XMLNode::FirstChild);
     while (pXMLChild) {
diff --git a/xfa/fxfa/parser/xfa_script_nodehelper.cpp b/xfa/fxfa/parser/xfa_script_nodehelper.cpp
index e866a19..3a80d89 100644
--- a/xfa/fxfa/parser/xfa_script_nodehelper.cpp
+++ b/xfa/fxfa/parser/xfa_script_nodehelper.cpp
@@ -284,13 +284,11 @@
     return;
   }
 
-  CFX_WideStringC wsTagName;
   CFX_WideString ws;
   FX_BOOL bIsProperty = XFA_NodeIsProperty(refNode);
   if (refNode->IsUnnamed() ||
       (bIsProperty && refNode->GetElementType() != XFA_Element::PageSet)) {
-    refNode->GetClassName(wsTagName);
-    ws = wsTagName;
+    ws = refNode->GetClassName();
     wsName.Format(L"#%s[%d]", ws.c_str(),
                   XFA_GetIndex(refNode, eLogicType, bIsProperty, TRUE));
     return;