Loading api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -48647,6 +48647,7 @@ package android.webkit { 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); } core/java/android/view/View.java +15 −0 Original line number Diff line number Diff line Loading @@ -3890,6 +3890,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * cleanup. */ final RenderNode mRenderNode; private Runnable mRenderNodeDetachedCallback; /** * Set to true when the view is sending hover accessibility events because it Loading Loading @@ -16013,6 +16014,20 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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; } /** core/java/android/webkit/WebViewDelegate.java +20 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.webkit; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.ActivityThread; import android.app.Application; Loading Loading @@ -108,6 +110,24 @@ public final class WebViewDelegate { ((DisplayListCanvas) canvas).callDrawGLFunction2(nativeDrawGLFunctor); } /** * 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. * Loading Loading
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -48647,6 +48647,7 @@ package android.webkit { 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); }
core/java/android/view/View.java +15 −0 Original line number Diff line number Diff line Loading @@ -3890,6 +3890,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * cleanup. */ final RenderNode mRenderNode; private Runnable mRenderNodeDetachedCallback; /** * Set to true when the view is sending hover accessibility events because it Loading Loading @@ -16013,6 +16014,20 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @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; } /**
core/java/android/webkit/WebViewDelegate.java +20 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.webkit; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.ActivityThread; import android.app.Application; Loading Loading @@ -108,6 +110,24 @@ public final class WebViewDelegate { ((DisplayListCanvas) canvas).callDrawGLFunction2(nativeDrawGLFunctor); } /** * 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. * Loading