Index: android_webview/native/aw_contents.cc |
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc |
index 32cc8d1a4de9b85bde117fc05a2975615f2e386b..cc5e6a3cb28a4b77871c6532929bad3e40c8612f 100644 |
--- a/android_webview/native/aw_contents.cc |
+++ b/android_webview/native/aw_contents.cc |
@@ -342,6 +342,12 @@ jlong AwContents::GetAwDrawGLViewContext(JNIEnv* env, jobject obj) { |
} |
void AwContents::DrawGL(AwDrawGLInfo* draw_info) { |
+ if (draw_info->mode == AwDrawGLInfo::kModeSync) { |
+ if (hardware_renderer_) |
+ hardware_renderer_->CommitFrame(); |
hush (inactive)
2014/07/25 18:08:07
CommitFrame will just copy the child draw result (
boliu
2014/07/25 18:11:02
Everything above here is correct.
hush (inactive)
2014/07/25 18:31:00
Okay.
Imagine a scenario where onDraw happens ever
boliu
2014/07/25 18:41:51
Yes. But "old frame" isn't a good charaterization.
|
+ return; |
+ } |
+ |
{ |
GLViewRendererManager* manager = GLViewRendererManager::GetInstance(); |
base::AutoLock lock(render_thread_lock_); |
@@ -366,6 +372,7 @@ void AwContents::DrawGL(AwDrawGLInfo* draw_info) { |
if (!hardware_renderer_) { |
hardware_renderer_.reset(new HardwareRenderer(&shared_renderer_state_)); |
+ hardware_renderer_->CommitFrame(); |
} |
hardware_renderer_->DrawGL(state_restore.stencil_enabled(), |