Chromium Code Reviews| 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); |
|
piman
2017/03/17 18:12:01
nit: this is used in many places, maybe a static c
Eric Seckler
2017/03/20 11:54:03
Done.
|
| + support_->SubmitCompositorFrame(child_id_, std::move(frame)); |
| surfaces_->RemoveChildId(cc::SurfaceId(frame_sink_id_, child_id_)); |
| support_->EvictFrame(); |
| child_id_ = cc::LocalSurfaceId(); |