Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index 7354f963f8f5ffbc3e95070ad461bf3f300855e1..a8fb1a79dac9ae81eaa895625548add6f881f6ad 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -81,8 +81,9 @@ Compositor::Compositor(ui::ContextFactory* context_factory, |
#endif |
widget_valid_(false), |
compositor_frame_sink_requested_(false), |
- surface_id_allocator_(base::MakeUnique<cc::SurfaceIdAllocator>( |
- context_factory->AllocateFrameSinkId())), |
+ frame_sink_id_(context_factory->AllocateFrameSinkId()), |
+ surface_id_allocator_( |
+ base::MakeUnique<cc::SurfaceIdAllocator>(frame_sink_id_)), |
task_runner_(task_runner), |
vsync_manager_(new CompositorVSyncManager()), |
device_scale_factor_(0.0f), |
@@ -90,8 +91,7 @@ Compositor::Compositor(ui::ContextFactory* context_factory, |
compositor_lock_(NULL), |
layer_animator_collection_(this), |
weak_ptr_factory_(this) { |
- context_factory->GetSurfaceManager()->RegisterFrameSinkId( |
- surface_id_allocator_->frame_sink_id()); |
+ context_factory->GetSurfaceManager()->RegisterFrameSinkId(frame_sink_id_); |
root_web_layer_ = cc::Layer::Create(); |
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
@@ -206,7 +206,7 @@ Compositor::Compositor(ui::ContextFactory* context_factory, |
animation_timeline_.get()); |
host_->GetLayerTree()->SetRootLayer(root_web_layer_); |
- host_->SetFrameSinkId(surface_id_allocator_->frame_sink_id()); |
+ host_->SetFrameSinkId(frame_sink_id_); |
host_->SetVisible(true); |
} |
@@ -235,28 +235,26 @@ Compositor::~Compositor() { |
context_factory_->RemoveCompositor(this); |
auto* manager = context_factory_->GetSurfaceManager(); |
- for (auto& client : frame_sinks_) { |
- DCHECK(!client.second.is_null()); |
- manager->UnregisterFrameSinkHierarchy(client.second, client.first); |
+ for (auto& client : child_frame_sinks_) { |
+ DCHECK(!client.is_null()); |
+ manager->UnregisterFrameSinkHierarchy(frame_sink_id_, client); |
} |
- manager->InvalidateFrameSinkId(surface_id_allocator_->frame_sink_id()); |
+ manager->InvalidateFrameSinkId(frame_sink_id_); |
} |
void Compositor::AddFrameSink(const cc::FrameSinkId& frame_sink_id) { |
- const cc::FrameSinkId& parent_frame_sink_id = |
- surface_id_allocator_->frame_sink_id(); |
context_factory_->GetSurfaceManager()->RegisterFrameSinkHierarchy( |
- parent_frame_sink_id, frame_sink_id); |
- frame_sinks_[frame_sink_id] = parent_frame_sink_id; |
+ frame_sink_id_, frame_sink_id); |
+ child_frame_sinks_.insert(frame_sink_id); |
} |
void Compositor::RemoveFrameSink(const cc::FrameSinkId& frame_sink_id) { |
- auto it = frame_sinks_.find(frame_sink_id); |
- DCHECK(it != frame_sinks_.end()); |
- DCHECK(!it->second.is_null()); |
+ auto it = child_frame_sinks_.find(frame_sink_id); |
+ DCHECK(it != child_frame_sinks_.end()); |
+ DCHECK(!it->is_null()); |
context_factory_->GetSurfaceManager()->UnregisterFrameSinkHierarchy( |
- it->second, it->first); |
- frame_sinks_.erase(it); |
+ frame_sink_id_, *it); |
+ child_frame_sinks_.erase(it); |
} |
void Compositor::SetCompositorFrameSink( |