diff --git a/fpdfsdk/javascript/JS_Object.cpp b/fpdfsdk/javascript/JS_Object.cpp
index cd86889..01a4641 100644
--- a/fpdfsdk/javascript/JS_Object.cpp
+++ b/fpdfsdk/javascript/JS_Object.cpp
@@ -14,18 +14,6 @@
 CJS_EmbedObj::~CJS_EmbedObj() {
 }
 
-void FreeObject(const v8::WeakCallbackInfo<CJS_Object>& data) {
-  CJS_Object* pJSObj = data.GetParameter();
-  delete pJSObj;
-  CFXJS_Engine::FreeObjectPrivate(data.GetInternalField(0));
-}
-
-void DisposeObject(const v8::WeakCallbackInfo<CJS_Object>& data) {
-  CJS_Object* pJSObj = data.GetParameter();
-  pJSObj->Dispose();
-  data.SetSecondPassCallback(FreeObject);
-}
-
 CJS_Object::CJS_Object(v8::Local<v8::Object> pObject) {
   m_pIsolate = pObject->GetIsolate();
   m_pV8Object.Reset(m_pIsolate, pObject);
@@ -33,13 +21,4 @@
 
 CJS_Object::~CJS_Object() {}
 
-void CJS_Object::MakeWeak() {
-  m_pV8Object.SetWeak(this, DisposeObject,
-                      v8::WeakCallbackType::kInternalFields);
-}
-
-void CJS_Object::Dispose() {
-  m_pV8Object.Reset();
-}
-
 void CJS_Object::InitInstance(IJS_Runtime* pIRuntime) {}
diff --git a/fpdfsdk/javascript/JS_Object.h b/fpdfsdk/javascript/JS_Object.h
index 293b98a..e0a96a9 100644
--- a/fpdfsdk/javascript/JS_Object.h
+++ b/fpdfsdk/javascript/JS_Object.h
@@ -34,9 +34,6 @@
   explicit CJS_Object(v8::Local<v8::Object> pObject);
   virtual ~CJS_Object();
 
-  void MakeWeak();
-  void Dispose();
-
   virtual void InitInstance(IJS_Runtime* pIRuntime);
 
   v8::Local<v8::Object> ToV8Object() { return m_pV8Object.Get(m_pIsolate); }
