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..ef8e93ff17f210acf3f5b5cf4403528920129e6a 100644 |
--- a/android_webview/browser/surfaces_instance.cc |
+++ b/android_webview/browser/surfaces_instance.cc |
@@ -134,6 +134,11 @@ 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(cc::BeginFrameArgs::kManualSourceId, |
+ cc::BeginFrameArgs::kStartingFrameNumber, |
+ cc::BeginFrameArgs::kStartingFrameNumber, 0, true); |
frame.render_pass_list.push_back(std::move(render_pass)); |
frame.metadata.referenced_surfaces = child_ids_; |
@@ -165,6 +170,11 @@ 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(cc::BeginFrameArgs::kManualSourceId, |
+ cc::BeginFrameArgs::kStartingFrameNumber, |
+ cc::BeginFrameArgs::kStartingFrameNumber, 0, true); |
empty_frame.metadata.referenced_surfaces = child_ids_; |
support_->SubmitCompositorFrame(root_id_, std::move(empty_frame)); |
} |