diff --git a/api/system-current.txt b/api/system-current.txt
index a8afd96..3344b52 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -48971,7 +48971,6 @@
     method public int getPackageId(android.content.res.Resources, java.lang.String);
     method public void invokeDrawGlFunctor(android.view.View, long, boolean);
     method public boolean isTraceTagEnabled();
-    method public java.lang.Runnable setDrawGlFunctionDetachedCallback(android.view.View, java.lang.Runnable);
     method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
   }
 
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 5b757d3..4e7d1914 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -3906,7 +3906,6 @@
      * cleanup.
      */
     final RenderNode mRenderNode;
-    private Runnable mRenderNodeDetachedCallback;
 
     /**
      * Set to true when the view is sending hover accessibility events because it
@@ -16065,20 +16064,6 @@
      * @hide
      */
     public void onRenderNodeDetached(RenderNode renderNode) {
-        if (renderNode == mRenderNode && mRenderNodeDetachedCallback != null) {
-            mRenderNodeDetachedCallback.run();
-        }
-    }
-
-    /**
-     * Set callback for functor detach. Exposed to WebView through WebViewDelegate.
-     * Should not be used otherwise.
-     * @hide
-     */
-    public final Runnable setRenderNodeDetachedCallback(@Nullable Runnable callback) {
-        Runnable oldCallback = mRenderNodeDetachedCallback;
-        mRenderNodeDetachedCallback = callback;
-        return oldCallback;
     }
 
     /**
diff --git a/core/java/android/webkit/WebViewDelegate.java b/core/java/android/webkit/WebViewDelegate.java
index 85d7cd0..9e73af2 100644
--- a/core/java/android/webkit/WebViewDelegate.java
+++ b/core/java/android/webkit/WebViewDelegate.java
@@ -131,24 +131,6 @@
     }
 
     /**
-     * Set the Runnable callback the DrawGlFunction functor is detached and free to be destroyed.
-     * This will replace the previous callback, if any.
-     *
-     * @param view The view to set the callback. Should be the view where onDraw inserted
-     *        DrawGLFunctor.
-     * @param callback The new callback to set on the view.
-     * @throws IllegalArgumentException if view is null.
-     * @return The previous callback on this view.
-     */
-    public Runnable setDrawGlFunctionDetachedCallback(
-        @NonNull View view, @Nullable Runnable callback) {
-        if (view == null) {
-            throw new IllegalArgumentException("View cannot be null");
-        }
-        return view.setRenderNodeDetachedCallback(callback);
-    }
-
-    /**
      * Detaches the draw GL functor.
      *
      * @param nativeDrawGLFunctor the pointer to the native functor that implements
