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;