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

Unified Diff: android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.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/WebViewChromium.java
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
index 4769a4e01185c8b7c2e9b1fec508418cc5a5d8ec..49bc09a6fa22b8bedab935c0f972bb0ef5634617 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromium.java
@@ -2248,17 +2248,19 @@ class WebViewChromium implements WebViewProvider, WebViewProvider.ScrollDelegate
// AwContents.NativeGLDelegate implementation --------------------------------------
private class WebViewNativeGLDelegate implements AwContents.NativeGLDelegate {
@Override
- public boolean setDrawGLFunctionDetachedCallback(View view, Runnable callback) {
- return false; // Not supported yet.
+ public boolean supportsDrawGLFunctorReleasedCallback() {
+ return DrawGLFunctor.supportsDrawGLFunctorReleasedCallback();
}
@Override
- public boolean requestDrawGL(Canvas canvas, boolean waitForCompletion, View containerView) {
+ public boolean requestDrawGL(Canvas canvas, boolean waitForCompletion, View containerView,
+ Runnable releasedCallback) {
if (mGLfunctor == null) {
mGLfunctor = new DrawGLFunctor(
mAwContents.getAwDrawGLViewContext(), mFactory.getWebViewDelegate());
}
- return mGLfunctor.requestDrawGL(canvas, containerView, waitForCompletion);
+ return mGLfunctor.requestDrawGL(
+ canvas, containerView, waitForCompletion, releasedCallback);
}
@Override

Powered by Google App Engine
This is Rietveld 408576698