Index: android_webview/native/aw_contents.cc |
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc |
index 2a9a35f91f331150de1ec2da90f48a63b31fb181..1559ef55824f35490b8d6809d76b9828ef7ead5a 100644 |
--- a/android_webview/native/aw_contents.cc |
+++ b/android_webview/native/aw_contents.cc |
@@ -1046,6 +1046,22 @@ void AwContents::EnableOnNewPicture(JNIEnv* env, |
browser_view_renderer_.EnableOnNewPicture(enabled); |
} |
+namespace { |
+void FlushVisualStateCallback(ScopedJavaGlobalRef<jobject>* callback, |
+ bool result) { |
+ JNIEnv* env = AttachCurrentThread(); |
+ Java_AwContents_flushVisualStateCallback(env, callback->obj(), !result); |
+} |
+} // namespace |
+ |
+void AwContents::FlushVisualState(JNIEnv* env, jobject obj, jobject callback) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ ScopedJavaGlobalRef<jobject>* j_callback = new ScopedJavaGlobalRef<jobject>(); |
+ j_callback->Reset(env, callback); |
+ web_contents_->GetMainFrame()->FlushVisualState( |
+ base::Bind(&FlushVisualStateCallback, base::Owned(j_callback))); |
+} |
+ |
void AwContents::ClearView(JNIEnv* env, jobject obj) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
browser_view_renderer_.ClearView(); |