| Index: android_webview/browser/hardware_renderer.cc
|
| diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc
|
| index b4cc30fe769a9390e190ba1a674b6aa5acc8618f..655dd44415b2571f754198a59bf6af2e24ddbe66 100644
|
| --- a/android_webview/browser/hardware_renderer.cc
|
| +++ b/android_webview/browser/hardware_renderer.cc
|
| @@ -167,7 +167,11 @@ void HardwareRenderer::DestroySurface() {
|
| DCHECK(child_id_.is_valid());
|
|
|
| // Submit an empty frame to force any existing resources to be returned.
|
| - support_->SubmitCompositorFrame(child_id_, cc::CompositorFrame());
|
| + cc::CompositorFrame frame;
|
| + // We submit without a prior BeginFrame, so acknowledge a manual BeginFrame.
|
| + frame.metadata.begin_frame_ack =
|
| + cc::BeginFrameAck::CreateManualAckWithDamage();
|
| + support_->SubmitCompositorFrame(child_id_, std::move(frame));
|
| surfaces_->RemoveChildId(cc::SurfaceId(frame_sink_id_, child_id_));
|
| support_->EvictFrame();
|
| child_id_ = cc::LocalSurfaceId();
|
|
|