| Index: android_webview/native/aw_contents.cc
|
| diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc
|
| index 28a715f08b80b0fc5762869a11a6fc171bdd2adc..6c468f6458606260d2c6c41870a541b021727f04 100644
|
| --- a/android_webview/native/aw_contents.cc
|
| +++ b/android_webview/native/aw_contents.cc
|
| @@ -1034,6 +1034,27 @@ void AwContents::EnableOnNewPicture(JNIEnv* env,
|
| browser_view_renderer_.EnableOnNewPicture(enabled);
|
| }
|
|
|
| +namespace {
|
| +void FlushVisualStateCallback(const JavaObjectWeakGlobalRef& java_ref,
|
| + ScopedJavaGlobalRef<jobject>* callback,
|
| + bool result) {
|
| + JNIEnv* env = AttachCurrentThread();
|
| + ScopedJavaLocalRef<jobject> obj = java_ref.get(env);
|
| + if (obj.is_null())
|
| + return;
|
| + Java_AwContents_flushVisualStateCallback(
|
| + env, obj.obj(), 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, java_ref_, base::Owned(j_callback)));
|
| +}
|
| +
|
| void AwContents::ClearView(JNIEnv* env, jobject obj) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| browser_view_renderer_.ClearView();
|
|
|