Index: services/ui/surfaces/compositor_frame_sink.cc |
diff --git a/services/ui/surfaces/compositor_frame_sink.cc b/services/ui/surfaces/compositor_frame_sink.cc |
index 287e3bfdff8e420532912fbabb88e7f3e8ecab24..2270d455b10bdd12397d0adb38647a79d937e73f 100644 |
--- a/services/ui/surfaces/compositor_frame_sink.cc |
+++ b/services/ui/surfaces/compositor_frame_sink.cc |
@@ -33,8 +33,7 @@ CompositorFrameSink::CompositorFrameSink( |
: frame_sink_id_(display_compositor->GenerateNextClientId(), 0), |
task_runner_(task_runner), |
display_compositor_(display_compositor), |
- factory_(frame_sink_id_, display_compositor->manager(), this), |
- allocator_(frame_sink_id_) { |
+ factory_(frame_sink_id_, display_compositor->manager(), this) { |
display_compositor_->manager()->RegisterFrameSinkId(frame_sink_id_); |
display_compositor_->manager()->RegisterSurfaceFactoryClient(frame_sink_id_, |
this); |
@@ -93,20 +92,21 @@ void CompositorFrameSink::SubmitCompositorFrame( |
gfx::Size frame_size = |
frame.delegated_frame_data->render_pass_list.back()->output_rect.size(); |
if (frame_size.IsEmpty() || frame_size != display_size_) { |
- if (!surface_id_.is_null()) |
- factory_.Destroy(surface_id_); |
- surface_id_ = allocator_.GenerateId(); |
- factory_.Create(surface_id_); |
+ if (!local_frame_id_.is_null()) |
+ factory_.Destroy(local_frame_id_); |
+ local_frame_id_ = allocator_.GenerateId(); |
+ factory_.Create(local_frame_id_); |
display_size_ = frame_size; |
display_->Resize(display_size_); |
} |
- display_->SetSurfaceId(surface_id_, frame.metadata.device_scale_factor); |
- factory_.SubmitCompositorFrame(surface_id_, std::move(frame), callback); |
+ display_->SetSurfaceId(cc::SurfaceId(frame_sink_id_, local_frame_id_), |
+ frame.metadata.device_scale_factor); |
+ factory_.SubmitCompositorFrame(local_frame_id_, std::move(frame), callback); |
} |
void CompositorFrameSink::RequestCopyOfOutput( |
std::unique_ptr<cc::CopyOutputRequest> output_request) { |
- factory_.RequestCopyOfSurface(surface_id_, std::move(output_request)); |
+ factory_.RequestCopyOfSurface(local_frame_id_, std::move(output_request)); |
} |
void CompositorFrameSink::ReturnResources( |