| Index: cc/surfaces/display.cc
|
| diff --git a/cc/surfaces/display.cc b/cc/surfaces/display.cc
|
| index a0ffb2ce35fce3f46f4c5674d1de15016926f006..5a097f81299bc36cc59fb0bafd5d2dbc411e8b9c 100644
|
| --- a/cc/surfaces/display.cc
|
| +++ b/cc/surfaces/display.cc
|
| @@ -34,7 +34,7 @@ Display::Display(SharedBitmapManager* bitmap_manager,
|
| gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
|
| const RendererSettings& settings,
|
| const FrameSinkId& frame_sink_id,
|
| - std::unique_ptr<BeginFrameSource> begin_frame_source,
|
| + BeginFrameSource* begin_frame_source,
|
| std::unique_ptr<OutputSurface> output_surface,
|
| std::unique_ptr<DisplayScheduler> scheduler,
|
| std::unique_ptr<TextureMailboxDeleter> texture_mailbox_deleter)
|
| @@ -42,15 +42,17 @@ Display::Display(SharedBitmapManager* bitmap_manager,
|
| gpu_memory_buffer_manager_(gpu_memory_buffer_manager),
|
| settings_(settings),
|
| frame_sink_id_(frame_sink_id),
|
| - begin_frame_source_(std::move(begin_frame_source)),
|
| + begin_frame_source_(begin_frame_source),
|
| output_surface_(std::move(output_surface)),
|
| scheduler_(std::move(scheduler)),
|
| texture_mailbox_deleter_(std::move(texture_mailbox_deleter)) {
|
| DCHECK(output_surface_);
|
| DCHECK_EQ(!scheduler_, !begin_frame_source_);
|
| DCHECK(frame_sink_id_.is_valid());
|
| - if (scheduler_)
|
| + if (scheduler_) {
|
| scheduler_->SetClient(this);
|
| + scheduler_->SetBeginFrameSource(begin_frame_source);
|
| + }
|
| }
|
|
|
| Display::~Display() {
|
| @@ -59,7 +61,7 @@ Display::~Display() {
|
| if (auto* context = output_surface_->context_provider())
|
| context->SetLostContextCallback(base::Closure());
|
| if (begin_frame_source_)
|
| - surface_manager_->UnregisterBeginFrameSource(begin_frame_source_.get());
|
| + surface_manager_->UnregisterBeginFrameSource(begin_frame_source_);
|
| surface_manager_->RemoveObserver(this);
|
| }
|
| if (aggregator_) {
|
| @@ -83,7 +85,7 @@ void Display::Initialize(DisplayClient* client,
|
| // This must be done in Initialize() so that the caller can delay this until
|
| // they are ready to receive a BeginFrameSource.
|
| if (begin_frame_source_) {
|
| - surface_manager_->RegisterBeginFrameSource(begin_frame_source_.get(),
|
| + surface_manager_->RegisterBeginFrameSource(begin_frame_source_,
|
| frame_sink_id_);
|
| }
|
|
|
|
|