Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Unified Diff: android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java

Issue 1890343003: aw: Use functor callback for lifetime management (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix UAF for realz Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java
index 56e797ff83640d29fcc88f6e36d824d769112d01..6a8ff9725c7a6c68d1779c49635490dc51fb307a 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewDelegateFactory.java
@@ -59,9 +59,15 @@ class WebViewDelegateFactory {
void invokeDrawGlFunctor(
View containerView, long nativeDrawGLFunctor, boolean waitForCompletion);
- /** @see android.webkit.WebViewDelegate#callDrawGlFunction */
+ /** @see android.webkit.WebViewDelegate#callDrawGlFunction. Available API level 23 and
+ * below.
+ */
void callDrawGlFunction(Canvas canvas, long nativeDrawGLFunctor);
+ /** @see android.webkit.WebViewDelegate#callDrawGlFunction. Available above API level 23
+ * only. */
+ void callDrawGlFunction(Canvas canvas, long nativeDrawGLFunctor, Runnable releasedRunnable);
+
/** @see android.webkit.WebViewDelegate#detachDrawGlFunctor */
void detachDrawGlFunctor(View containerView, long nativeDrawGLFunctor);
@@ -144,6 +150,12 @@ class WebViewDelegateFactory {
}
@Override
+ public void callDrawGlFunction(
+ Canvas canvas, long nativeDrawGLFunctor, Runnable releasedRunnable) {
+ throw new RuntimeException("Call not supported");
+ }
+
+ @Override
public void detachDrawGlFunctor(View containerView, long nativeDrawGLFunctor) {
mDelegate.detachDrawGlFunctor(containerView, nativeDrawGLFunctor);
}
@@ -305,6 +317,12 @@ class WebViewDelegateFactory {
}
@Override
+ public void callDrawGlFunction(
+ Canvas canvas, long nativeDrawGLFunctor, Runnable releasedRunnable) {
+ throw new RuntimeException("Call not supported");
+ }
+
+ @Override
public void detachDrawGlFunctor(View containerView, long nativeDrawGLFunctor) {
try {
Object viewRootImpl = mGetViewRootImplMethod.invoke(containerView);

Powered by Google App Engine
This is Rietveld 408576698