Replace CJS_GlobalVariableArray::Copy() with operator=().

Change-Id: I71794f87a99f9dcbb04296f42e8a5cd55656bd90
Reviewed-on: https://pdfium-review.googlesource.com/42615
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/cjs_globaldata.cpp b/fxjs/cjs_globaldata.cpp
index de240cf..614ae15 100644
--- a/fxjs/cjs_globaldata.cpp
+++ b/fxjs/cjs_globaldata.cpp
@@ -149,13 +149,13 @@
 
   if (CJS_GlobalData_Element* pData = GetGlobalVariable(sPropName)) {
     pData->data.nType = JS_GlobalDataType::OBJECT;
-    pData->data.objData.Copy(array);
+    pData->data.objData = array;
     return;
   }
   auto pNewData = pdfium::MakeUnique<CJS_GlobalData_Element>();
   pNewData->data.sKey = std::move(sPropName);
   pNewData->data.nType = JS_GlobalDataType::OBJECT;
-  pNewData->data.objData.Copy(array);
+  pNewData->data.objData = array;
   m_arrayGlobalData.push_back(std::move(pNewData));
 }
 
diff --git a/fxjs/cjs_globalvariablearray.cpp b/fxjs/cjs_globalvariablearray.cpp
index c4ac00c..e8155b6 100644
--- a/fxjs/cjs_globalvariablearray.cpp
+++ b/fxjs/cjs_globalvariablearray.cpp
@@ -15,10 +15,14 @@
 
 CJS_GlobalVariableArray::~CJS_GlobalVariableArray() {}
 
-void CJS_GlobalVariableArray::Copy(const CJS_GlobalVariableArray& array) {
+CJS_GlobalVariableArray& CJS_GlobalVariableArray::operator=(
+    const CJS_GlobalVariableArray& that) {
+  if (this == &that)
+    return *this;
+
   m_Array.clear();
-  for (int i = 0, sz = array.Count(); i < sz; i++) {
-    CJS_KeyValue* pOldObjData = array.GetAt(i);
+  for (int i = 0, sz = that.Count(); i < sz; i++) {
+    CJS_KeyValue* pOldObjData = that.GetAt(i);
     switch (pOldObjData->nType) {
       case JS_GlobalDataType::NUMBER: {
         auto pNewObjData = pdfium::MakeUnique<CJS_KeyValue>();
@@ -45,7 +49,7 @@
         auto pNewObjData = pdfium::MakeUnique<CJS_KeyValue>();
         pNewObjData->sKey = pOldObjData->sKey;
         pNewObjData->nType = pOldObjData->nType;
-        pNewObjData->objData.Copy(pOldObjData->objData);
+        pNewObjData->objData = pOldObjData->objData;
         Add(std::move(pNewObjData));
       } break;
       case JS_GlobalDataType::NULLOBJ: {
@@ -56,6 +60,7 @@
       } break;
     }
   }
+  return *this;
 }
 
 void CJS_GlobalVariableArray::Add(std::unique_ptr<CJS_KeyValue> pKeyValue) {
diff --git a/fxjs/cjs_globalvariablearray.h b/fxjs/cjs_globalvariablearray.h
index a3f4658..ae98d3e 100644
--- a/fxjs/cjs_globalvariablearray.h
+++ b/fxjs/cjs_globalvariablearray.h
@@ -17,10 +17,11 @@
   CJS_GlobalVariableArray();
   ~CJS_GlobalVariableArray();
 
+  CJS_GlobalVariableArray& operator=(const CJS_GlobalVariableArray& array);
+
   void Add(std::unique_ptr<CJS_KeyValue> pKeyValue);
   int Count() const;
   CJS_KeyValue* GetAt(int index) const;
-  void Copy(const CJS_GlobalVariableArray& array);
 
  private:
   std::vector<std::unique_ptr<CJS_KeyValue>> m_Array;