diff --git a/shell/common/rasterizer.cc b/shell/common/rasterizer.cc index 403fcc91de2ee..ad5644c45f986 100644 --- a/shell/common/rasterizer.cc +++ b/shell/common/rasterizer.cc @@ -560,25 +560,22 @@ RasterStatus Rasterizer::DrawToSurfaceUnsafe( external_view_embedder_ && (!raster_thread_merger_ || raster_thread_merger_->IsMerged()); - std::unique_ptr damage; + FrameDamage damage; if (!disable_partial_repaint && frame->framebuffer_info().existing_damage) { - damage = std::make_unique(); - damage->SetPreviousLayerTree(last_layer_tree_.get()); - damage->AddAdditonalDamage(*frame->framebuffer_info().existing_damage); + damage.SetPreviousLayerTree(last_layer_tree_.get()); + damage.AddAdditonalDamage(*frame->framebuffer_info().existing_damage); } RasterStatus raster_status = - compositor_frame->Raster(layer_tree, false, damage.get()); + compositor_frame->Raster(layer_tree, false, &damage); if (raster_status == RasterStatus::kFailed || raster_status == RasterStatus::kSkipAndRetry) { return raster_status; } SurfaceFrame::SubmitInfo submit_info; - if (damage) { - submit_info.frame_damage = damage->GetFrameDamage(); - submit_info.buffer_damage = damage->GetBufferDamage(); - } + submit_info.frame_damage = damage.GetFrameDamage(); + submit_info.buffer_damage = damage.GetBufferDamage(); frame->set_submit_info(submit_info);