Index: android_webview/browser/surfaces_instance.cc |
diff --git a/android_webview/browser/surfaces_instance.cc b/android_webview/browser/surfaces_instance.cc |
index e9b124501dc20882f2b3c4da5576d956cc0897ec..708cd3323755e9ba40f3fb7723d9890fc12fd1ac 100644 |
--- a/android_webview/browser/surfaces_instance.cc |
+++ b/android_webview/browser/surfaces_instance.cc |
@@ -134,6 +134,9 @@ void SurfacesInstance::DrawAndSwap(const gfx::Size& viewport, |
cc::SurfaceDrawQuadType::PRIMARY, nullptr); |
cc::CompositorFrame frame; |
+ // We draw synchronously, so acknowledge a manual BeginFrame. |
+ frame.metadata.begin_frame_ack = |
+ cc::BeginFrameAck::CreateManualAckWithDamage(); |
frame.render_pass_list.push_back(std::move(render_pass)); |
frame.metadata.referenced_surfaces = child_ids_; |
@@ -165,6 +168,9 @@ void SurfacesInstance::RemoveChildId(const cc::SurfaceId& child_id) { |
void SurfacesInstance::SetEmptyRootFrame() { |
cc::CompositorFrame empty_frame; |
+ // We draw synchronously, so acknowledge a manual BeginFrame. |
+ empty_frame.metadata.begin_frame_ack = |
+ cc::BeginFrameAck::CreateManualAckWithDamage(); |
empty_frame.metadata.referenced_surfaces = child_ids_; |
support_->SubmitCompositorFrame(root_id_, std::move(empty_frame)); |
} |