| Index: device/wake_lock/wake_lock_service_context.cc
|
| diff --git a/device/wake_lock/wake_lock_service_context.cc b/device/wake_lock/wake_lock_service_context.cc
|
| index b56680f3806510ef241cc5a6ef5cbf12f0ddc495..a395edf9269ba0e06bca3891c2337ea7fcb6cf2a 100644
|
| --- a/device/wake_lock/wake_lock_service_context.cc
|
| +++ b/device/wake_lock/wake_lock_service_context.cc
|
| @@ -19,13 +19,10 @@ WakeLockServiceContext::WakeLockServiceContext(
|
| int context_id,
|
| scoped_refptr<base::SingleThreadTaskRunner> file_task_runner,
|
| const WakeLockContextCallback& native_view_getter)
|
| - : main_task_runner_(base::ThreadTaskRunnerHandle::Get()),
|
| - file_task_runner_(std::move(file_task_runner)),
|
| - num_lock_requests_(0),
|
| -#if defined(OS_ANDROID)
|
| + : file_task_runner_(std::move(file_task_runner)),
|
| + wake_lock_count_(0),
|
| context_id_(context_id),
|
| native_view_getter_(native_view_getter),
|
| -#endif
|
| context_binding_(this, std::move(request)),
|
| context_binding_encountered_error_(false) {
|
| context_binding_.set_connection_error_handler(base::Bind(
|
| @@ -38,57 +35,30 @@ WakeLockServiceContext::WakeLockServiceContext(
|
| WakeLockServiceContext::~WakeLockServiceContext() {}
|
|
|
| void WakeLockServiceContext::GetWakeLock(
|
| - mojo::InterfaceRequest<mojom::WakeLockService> request) {
|
| - wake_lock_bindings_.AddBinding(base::MakeUnique<WakeLockServiceImpl>(this),
|
| - std::move(request));
|
| + device::PowerSaveBlocker::PowerSaveBlockerType type,
|
| + device::PowerSaveBlocker::Reason reason,
|
| + const std::string& description,
|
| + mojom::WakeLockServiceRequest request) {
|
| + wake_lock_bindings_.AddBinding(
|
| + base::MakeUnique<WakeLockServiceImpl>(this, type, reason, description,
|
| + context_id_, native_view_getter_,
|
| + file_task_runner_),
|
| + std::move(request));
|
| }
|
|
|
| -void WakeLockServiceContext::RequestWakeLock() {
|
| - DCHECK(main_task_runner_->RunsTasksOnCurrentThread());
|
| - num_lock_requests_++;
|
| - UpdateWakeLock();
|
| +void WakeLockServiceContext::IncreaseWakeLockCount() {
|
| + DCHECK(wake_lock_count_ >= 0);
|
| + ++wake_lock_count_;
|
| }
|
|
|
| -void WakeLockServiceContext::CancelWakeLock() {
|
| - DCHECK(main_task_runner_->RunsTasksOnCurrentThread());
|
| - num_lock_requests_--;
|
| - UpdateWakeLock();
|
| +void WakeLockServiceContext::DecreaseWakeLockCount() {
|
| + DCHECK(wake_lock_count_ > 0);
|
| + --wake_lock_count_;
|
| }
|
|
|
| void WakeLockServiceContext::HasWakeLockForTests(
|
| const HasWakeLockForTestsCallback& callback) {
|
| - callback.Run(!!wake_lock_);
|
| -}
|
| -
|
| -void WakeLockServiceContext::CreateWakeLock() {
|
| - DCHECK(!wake_lock_);
|
| - wake_lock_.reset(new device::PowerSaveBlocker(
|
| - device::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep,
|
| - device::PowerSaveBlocker::kReasonOther, "Wake Lock API",
|
| - main_task_runner_, file_task_runner_));
|
| -
|
| -#if defined(OS_ANDROID)
|
| - gfx::NativeView native_view = native_view_getter_.Run(context_id_);
|
| - if (native_view) {
|
| - wake_lock_.get()->InitDisplaySleepBlocker(native_view);
|
| - }
|
| -#endif
|
| -}
|
| -
|
| -void WakeLockServiceContext::RemoveWakeLock() {
|
| - DCHECK(wake_lock_);
|
| - wake_lock_.reset();
|
| -}
|
| -
|
| -void WakeLockServiceContext::UpdateWakeLock() {
|
| - DCHECK(num_lock_requests_ >= 0);
|
| - if (num_lock_requests_) {
|
| - if (!wake_lock_)
|
| - CreateWakeLock();
|
| - } else {
|
| - if (wake_lock_)
|
| - RemoveWakeLock();
|
| - }
|
| + callback.Run(!!wake_lock_count_);
|
| }
|
|
|
| void WakeLockServiceContext::OnContextBindingError() {
|
|
|