Index: android_webview/native/aw_contents.cc |
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc |
index e38fd5e1fc4131ffcba3c909295bde4f6367611a..4f6a069dcd823eec41315062f881b63569e9ba97 100644 |
--- a/android_webview/native/aw_contents.cc |
+++ b/android_webview/native/aw_contents.cc |
@@ -899,6 +899,11 @@ void AwContents::OnDetachedFromWindow(JNIEnv* env, jobject obj) { |
void AwContents::ReleaseHardwareDrawIfNeeded() { |
InsideHardwareReleaseReset inside_reset(&shared_renderer_state_); |
+ JNIEnv* env = AttachCurrentThread(); |
+ ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |
+ if (!obj.is_null()) |
+ Java_AwContents_invalidateOnFunctorDestroy(env, obj.obj()); |
+ |
bool hardware_initialized = browser_view_renderer_.hardware_enabled(); |
if (hardware_initialized) { |
bool draw_functor_succeeded = RequestDrawGL(NULL, true); |