| 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..8526fe084c355c892106ccfedbb3344c24998c39 100644
|
| --- a/android_webview/browser/hardware_renderer.cc
|
| +++ b/android_webview/browser/hardware_renderer.cc
|
| @@ -167,7 +167,13 @@ 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(cc::BeginFrameArgs::kManualSourceId,
|
| + cc::BeginFrameArgs::kStartingFrameNumber,
|
| + cc::BeginFrameArgs::kStartingFrameNumber, 0, true);
|
| + support_->SubmitCompositorFrame(child_id_, std::move(frame));
|
| surfaces_->RemoveChildId(cc::SurfaceId(frame_sink_id_, child_id_));
|
| support_->EvictFrame();
|
| child_id_ = cc::LocalSurfaceId();
|
|
|