Remove out parameter from CJS_Global::ObjectToArray()

Both of its callers invoke it with emtpy arrays to which new items
are added, so just create the array and return it to the caller.

-- remove unused member while at it.

Change-Id: Id10d73005baadab34ca40137b4d38e9a008bf306
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/77130
Reviewed-by: Hui Yingst <nigi@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/cjs_global.cpp b/fxjs/cjs_global.cpp
index f6681a9..86762e3 100644
--- a/fxjs/cjs_global.cpp
+++ b/fxjs/cjs_global.cpp
@@ -358,11 +358,10 @@
         m_pGlobalData->SetGlobalVariablePersistent(name, pData->bPersistent);
         break;
       case CFX_Value::DataType::kObject: {
-        std::vector<std::unique_ptr<CFX_KeyValue>> array;
         v8::Local<v8::Object> obj =
             v8::Local<v8::Object>::New(GetIsolate(), pData->pData);
-        ObjectToArray(pRuntime, obj, &array);
-        m_pGlobalData->SetGlobalVariableObject(name, std::move(array));
+        m_pGlobalData->SetGlobalVariableObject(name,
+                                               ObjectToArray(pRuntime, obj));
         m_pGlobalData->SetGlobalVariablePersistent(name, pData->bPersistent);
       } break;
       case CFX_Value::DataType::kNull:
@@ -373,10 +372,10 @@
   }
 }
 
-void CJS_Global::ObjectToArray(
+std::vector<std::unique_ptr<CFX_KeyValue>> CJS_Global::ObjectToArray(
     CJS_Runtime* pRuntime,
-    v8::Local<v8::Object> pObj,
-    std::vector<std::unique_ptr<CFX_KeyValue>>* pArray) {
+    v8::Local<v8::Object> pObj) {
+  std::vector<std::unique_ptr<CFX_KeyValue>> array;
   std::vector<WideString> pKeyList = pRuntime->GetObjectPropertyNames(pObj);
   for (const auto& ws : pKeyList) {
     ByteString sKey = ws.ToUTF8();
@@ -387,7 +386,7 @@
       pObjElement->nType = CFX_Value::DataType::kNumber;
       pObjElement->sKey = sKey;
       pObjElement->dData = pRuntime->ToDouble(v);
-      pArray->push_back(std::move(pObjElement));
+      array.push_back(std::move(pObjElement));
       continue;
     }
     if (v->IsBoolean()) {
@@ -395,7 +394,7 @@
       pObjElement->nType = CFX_Value::DataType::kBoolean;
       pObjElement->sKey = sKey;
       pObjElement->dData = pRuntime->ToBoolean(v);
-      pArray->push_back(std::move(pObjElement));
+      array.push_back(std::move(pObjElement));
       continue;
     }
     if (v->IsString()) {
@@ -404,24 +403,25 @@
       pObjElement->nType = CFX_Value::DataType::kString;
       pObjElement->sKey = sKey;
       pObjElement->sData = sValue;
-      pArray->push_back(std::move(pObjElement));
+      array.push_back(std::move(pObjElement));
       continue;
     }
     if (v->IsObject()) {
       auto pObjElement = std::make_unique<CFX_KeyValue>();
       pObjElement->nType = CFX_Value::DataType::kObject;
       pObjElement->sKey = sKey;
-      ObjectToArray(pRuntime, pRuntime->ToObject(v), &pObjElement->objData);
-      pArray->push_back(std::move(pObjElement));
+      pObjElement->objData = ObjectToArray(pRuntime, pRuntime->ToObject(v));
+      array.push_back(std::move(pObjElement));
       continue;
     }
     if (v->IsNull()) {
       auto pObjElement = std::make_unique<CFX_KeyValue>();
       pObjElement->nType = CFX_Value::DataType::kNull;
       pObjElement->sKey = sKey;
-      pArray->push_back(std::move(pObjElement));
+      array.push_back(std::move(pObjElement));
     }
   }
+  return array;
 }
 
 void CJS_Global::PutObjectProperty(v8::Local<v8::Object> pObj,
diff --git a/fxjs/cjs_global.h b/fxjs/cjs_global.h
index 0580dbb..e251a2e 100644
--- a/fxjs/cjs_global.h
+++ b/fxjs/cjs_global.h
@@ -84,13 +84,12 @@
                                 const ByteString& sData,
                                 v8::Local<v8::Object> pData,
                                 bool bDefaultPersistent);
-  void ObjectToArray(CJS_Runtime* pRuntime,
-                     v8::Local<v8::Object> pObj,
-                     std::vector<std::unique_ptr<CFX_KeyValue>>* pArray);
+  std::vector<std::unique_ptr<CFX_KeyValue>> ObjectToArray(
+      CJS_Runtime* pRuntime,
+      v8::Local<v8::Object> pObj);
   void PutObjectProperty(v8::Local<v8::Object> obj, CFX_KeyValue* pData);
 
   std::map<ByteString, std::unique_ptr<JSGlobalData>> m_MapGlobal;
-  WideString m_sFilePath;
   CFX_GlobalData* m_pGlobalData;
   ObservedPtr<CPDFSDK_FormFillEnvironment> m_pFormFillEnv;
 };