| Index: components/exo/surface.cc
|
| diff --git a/components/exo/surface.cc b/components/exo/surface.cc
|
| index 5edc802f9635be0168c30c9bf197969867378ace..eda22743a678d08f7d042eeeff16d8bfefd0286d 100644
|
| --- a/components/exo/surface.cc
|
| +++ b/components/exo/surface.cc
|
| @@ -811,7 +811,8 @@ void Surface::UpdateSurface(bool full_damage) {
|
| quad_state->visible_quad_layer_rect = quad_rect;
|
| quad_state->opacity = state_.alpha;
|
|
|
| - cc::CompositorFrame frame;
|
| + std::unique_ptr<cc::DelegatedFrameData> delegated_frame(
|
| + new cc::DelegatedFrameData);
|
| if (current_resource_.id) {
|
| // Texture quad is only needed if buffer is not fully transparent.
|
| if (state_.alpha) {
|
| @@ -832,7 +833,7 @@ void Surface::UpdateSurface(bool full_damage) {
|
| false, false, state_.only_visible_on_secure_output);
|
| if (current_resource_.is_overlay_candidate)
|
| texture_quad->set_resource_size_in_pixels(current_resource_.size);
|
| - frame.resource_list.push_back(current_resource_);
|
| + delegated_frame->resource_list.push_back(current_resource_);
|
| }
|
| } else {
|
| cc::SolidColorDrawQuad* solid_quad =
|
| @@ -840,7 +841,9 @@ void Surface::UpdateSurface(bool full_damage) {
|
| solid_quad->SetNew(quad_state, quad_rect, quad_rect, SK_ColorBLACK, false);
|
| }
|
|
|
| - frame.render_pass_list.push_back(std::move(render_pass));
|
| + delegated_frame->render_pass_list.push_back(std::move(render_pass));
|
| + cc::CompositorFrame frame;
|
| + frame.delegated_frame_data = std::move(delegated_frame);
|
|
|
| factory_owner_->surface_factory_->SubmitCompositorFrame(
|
| local_frame_id_, std::move(frame), cc::SurfaceFactory::DrawCallback());
|
|
|