diff --git a/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp b/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp
index 711b3da..dc639fe 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_indirect_object_holder.cpp
@@ -13,7 +13,7 @@
 
 CPDF_IndirectObjectHolder::~CPDF_IndirectObjectHolder() {
   for (const auto& pair : m_IndirectObjs)
-    pair.second->Destroy();
+    delete pair.second;
 }
 
 CPDF_Object* CPDF_IndirectObjectHolder::GetIndirectObject(
@@ -38,7 +38,7 @@
   pObj->m_ObjNum = objnum;
   m_LastObjNum = std::max(m_LastObjNum, objnum);
   if (m_IndirectObjs[objnum])
-    m_IndirectObjs[objnum]->Destroy();
+    delete m_IndirectObjs[objnum];
 
   m_IndirectObjs[objnum] = pObj;
   return pObj;
@@ -67,10 +67,10 @@
   CPDF_Object* pOldObj = GetIndirectObject(objnum);
   if (pOldObj) {
     if (pObj->GetGenNum() <= pOldObj->GetGenNum()) {
-      pObj->Destroy();
+      delete pObj;
       return false;
     }
-    pOldObj->Destroy();
+    delete pOldObj;
   }
   pObj->m_ObjNum = objnum;
   m_IndirectObjs[objnum] = pObj;
@@ -83,6 +83,6 @@
   if (!pObj || pObj->GetObjNum() == CPDF_Object::kInvalidObjNum)
     return;
 
-  pObj->Destroy();
+  delete pObj;
   m_IndirectObjs.erase(objnum);
 }
diff --git a/core/fpdfapi/fpdf_parser/cpdf_object.cpp b/core/fpdfapi/fpdf_parser/cpdf_object.cpp
index 7da12a2..442aaed 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_object.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_object.cpp
@@ -41,7 +41,7 @@
   if (m_ObjNum)
     return;
 
-  Destroy();
+  delete this;
 }
 
 CFX_ByteString CPDF_Object::GetString() const {
diff --git a/core/fpdfapi/fpdf_parser/include/cpdf_object.h b/core/fpdfapi/fpdf_parser/include/cpdf_object.h
index 8d9bb01..115ce02 100644
--- a/core/fpdfapi/fpdf_parser/include/cpdf_object.h
+++ b/core/fpdfapi/fpdf_parser/include/cpdf_object.h
@@ -95,7 +95,6 @@
 
   CPDF_Object() : m_ObjNum(0), m_GenNum(0) {}
   virtual ~CPDF_Object();
-  void Destroy() { delete this; }
 
   CPDF_Object* CloneObjectNonCyclic(bool bDirect) const;
 
