| Index: ui/compositor/compositor.cc
|
| diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
|
| index b9078b680ef0f82a3ff8e79148a2888acc6cd357..9b76eaeadaddb8ba5cb5f38d5e88fde72b61219e 100644
|
| --- a/ui/compositor/compositor.cc
|
| +++ b/ui/compositor/compositor.cc
|
| @@ -46,41 +46,20 @@
|
|
|
| namespace {
|
|
|
| -const double kDefaultRefreshRate = 60.0;
|
| -const double kTestRefreshRate = 200.0;
|
| +constexpr double kDefaultRefreshRate = 60.0;
|
| +constexpr double kTestRefreshRate = 200.0;
|
|
|
| } // namespace
|
|
|
| namespace ui {
|
|
|
| -CompositorLock::CompositorLock(Compositor* compositor)
|
| - : compositor_(compositor) {
|
| - if (compositor_->locks_will_time_out_) {
|
| - compositor_->task_runner_->PostDelayedTask(
|
| - FROM_HERE,
|
| - base::Bind(&CompositorLock::CancelLock, AsWeakPtr()),
|
| - base::TimeDelta::FromMilliseconds(kCompositorLockTimeoutMs));
|
| - }
|
| -}
|
| -
|
| -CompositorLock::~CompositorLock() {
|
| - CancelLock();
|
| -}
|
| -
|
| -void CompositorLock::CancelLock() {
|
| - if (!compositor_)
|
| - return;
|
| - compositor_->UnlockCompositor();
|
| - compositor_ = NULL;
|
| -}
|
| -
|
| Compositor::Compositor(const cc::FrameSinkId& frame_sink_id,
|
| ui::ContextFactory* context_factory,
|
| ui::ContextFactoryPrivate* context_factory_private,
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner)
|
| : context_factory_(context_factory),
|
| context_factory_private_(context_factory_private),
|
| - root_layer_(NULL),
|
| + root_layer_(nullptr),
|
| widget_(gfx::kNullAcceleratedWidget),
|
| committed_frame_number_(0),
|
| widget_valid_(false),
|
| @@ -89,8 +68,7 @@ Compositor::Compositor(const cc::FrameSinkId& frame_sink_id,
|
| task_runner_(task_runner),
|
| vsync_manager_(new CompositorVSyncManager()),
|
| device_scale_factor_(0.0f),
|
| - locks_will_time_out_(true),
|
| - compositor_lock_(NULL),
|
| + compositor_lock_(nullptr),
|
| layer_animator_collection_(this),
|
| weak_ptr_factory_(this) {
|
| if (context_factory_private) {
|
| @@ -228,9 +206,6 @@ Compositor::Compositor(const cc::FrameSinkId& frame_sink_id,
|
| Compositor::~Compositor() {
|
| TRACE_EVENT0("shutdown", "Compositor::destructor");
|
|
|
| - CancelCompositorLock();
|
| - DCHECK(!compositor_lock_);
|
| -
|
| for (auto& observer : observer_list_)
|
| observer.OnCompositingShuttingDown(this);
|
|
|
| @@ -559,9 +534,12 @@ const cc::RendererSettings& Compositor::GetRendererSettings() const {
|
| return host_->GetSettings().renderer_settings;
|
| }
|
|
|
| -scoped_refptr<CompositorLock> Compositor::GetCompositorLock() {
|
| +scoped_refptr<CompositorLock> Compositor::GetCompositorLock(
|
| + CompositorLockClient* client,
|
| + base::TimeDelta timeout) {
|
| if (!compositor_lock_) {
|
| - compositor_lock_ = new CompositorLock(this);
|
| + compositor_lock_ =
|
| + new CompositorLock(client, this, task_runner_.get(), timeout);
|
| host_->SetDeferCommits(true);
|
| for (auto& observer : observer_list_)
|
| observer.OnCompositingLockStateChanged(this);
|
| @@ -569,17 +547,12 @@ scoped_refptr<CompositorLock> Compositor::GetCompositorLock() {
|
| return compositor_lock_;
|
| }
|
|
|
| -void Compositor::UnlockCompositor() {
|
| +void Compositor::DoUnlockCompositor() {
|
| DCHECK(compositor_lock_);
|
| - compositor_lock_ = NULL;
|
| + compositor_lock_ = nullptr;
|
| host_->SetDeferCommits(false);
|
| for (auto& observer : observer_list_)
|
| observer.OnCompositingLockStateChanged(this);
|
| }
|
|
|
| -void Compositor::CancelCompositorLock() {
|
| - if (compositor_lock_)
|
| - compositor_lock_->CancelLock();
|
| -}
|
| -
|
| } // namespace ui
|
|
|