Fix RequestDrawGL logic.
We're not supposed to request a blocking DrawGL with a not null canvas.
Just throw an exception in this case.
Change-Id: I452e781577ab1040d06acfcba1d03646bab00fa4
diff --git a/chromium/java/com/android/webview/chromium/DrawGLFunctor.java b/chromium/java/com/android/webview/chromium/DrawGLFunctor.java
index 7f7adeb..265bfd0 100644
--- a/chromium/java/com/android/webview/chromium/DrawGLFunctor.java
+++ b/chromium/java/com/android/webview/chromium/DrawGLFunctor.java
@@ -58,6 +58,11 @@
if (mDestroyRunnable.mNativeDrawGLFunctor == 0) {
throw new RuntimeException("requested DrawGL on already destroyed DrawGLFunctor");
}
+
+ if (canvas != null && waitForCompletion) {
+ throw new IllegalArgumentException("requested a blocking DrawGL with a not null canvas.");
+ }
+
if (viewRootImpl == null) {
// Can happen during teardown when window is leaked.
return false;
@@ -70,10 +75,6 @@
}
canvas.callDrawGLFunction(mDestroyRunnable.mNativeDrawGLFunctor);
- if (waitForCompletion) {
- viewRootImpl.invokeFunctor(mDestroyRunnable.mNativeDrawGLFunctor,
- waitForCompletion);
- }
return true;
}