Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(796)

Unified Diff: services/ui/surfaces/compositor_frame_sink.cc

Issue 2388753003: Introduce cc::LocalFrameId and use in SurfaceFactory (Closed)
Patch Set: Fix exo_unittests Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698