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

Unified Diff: device/wake_lock/wake_lock_service_impl.cc

Issue 2867303003: Generalize the API of WakeLockContext mojo interface. (Closed)
Patch Set: Generalize the API of WakeLockContext mojo interface. Created 3 years, 7 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
« no previous file with comments | « device/wake_lock/wake_lock_service_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/wake_lock/wake_lock_service_impl.cc
diff --git a/device/wake_lock/wake_lock_service_impl.cc b/device/wake_lock/wake_lock_service_impl.cc
index 6e1571806cb7d185afabe6c7f05e679defa165a7..038da46b3fe3571e4ce7b95e1f5c73b63e9338b5 100644
--- a/device/wake_lock/wake_lock_service_impl.cc
+++ b/device/wake_lock/wake_lock_service_impl.cc
@@ -10,10 +10,45 @@
namespace device {
+namespace {
+
+PowerSaveBlocker::PowerSaveBlockerType ToPowerSaveBlockerType(
+ mojom::WakeLockType type) {
+ switch (type) {
+ case mojom::WakeLockType::PreventAppSuspension:
+ return PowerSaveBlocker::PowerSaveBlockerType::
+ kPowerSaveBlockPreventAppSuspension;
+ case mojom::WakeLockType::PreventDisplaySleep:
+ return PowerSaveBlocker::PowerSaveBlockerType::
+ kPowerSaveBlockPreventDisplaySleep;
+ }
+
+ NOTREACHED();
+ return PowerSaveBlocker::PowerSaveBlockerType::
+ kPowerSaveBlockPreventAppSuspension;
+}
+
+PowerSaveBlocker::Reason ToPowerSaveBlockerReason(
+ mojom::WakeLockReason reason) {
+ switch (reason) {
+ case mojom::WakeLockReason::ReasonAudioPlayback:
+ return PowerSaveBlocker::Reason::kReasonAudioPlayback;
+ case mojom::WakeLockReason::ReasonVideoPlayback:
+ return PowerSaveBlocker::Reason::kReasonVideoPlayback;
+ case mojom::WakeLockReason::ReasonOther:
+ return PowerSaveBlocker::Reason::kReasonOther;
+ }
+
+ NOTREACHED();
+ return PowerSaveBlocker::Reason::kReasonOther;
+}
+
+} // namespace
+
WakeLockServiceImpl::WakeLockServiceImpl(
mojom::WakeLockServiceRequest request,
- device::PowerSaveBlocker::PowerSaveBlockerType type,
- device::PowerSaveBlocker::Reason reason,
+ mojom::WakeLockType type,
+ mojom::WakeLockReason reason,
const std::string& description,
int context_id,
WakeLockContextCallback native_view_getter,
@@ -88,16 +123,15 @@ void WakeLockServiceImpl::UpdateWakeLock() {
void WakeLockServiceImpl::CreateWakeLock() {
DCHECK(!wake_lock_);
- if (type_ != device::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep ||
- reason_ != device::PowerSaveBlocker::kReasonOther ||
- *description_ != "Wake Lock API") {
- // TODO(ke.he@intel.com): Fully generalize the WakeLock interface and impl.
- NOTREACHED();
- return;
- }
+ // TODO(heke): Switch PowerSaveBlocker to use mojom::WakeLockType and
+ // mojom::WakeLockReason once all its clients are converted to be the clients
+ // of WakeLock.
+ wake_lock_ = base::MakeUnique<PowerSaveBlocker>(
+ ToPowerSaveBlockerType(type_), ToPowerSaveBlockerReason(reason_),
+ *description_, main_task_runner_, file_task_runner_);
- wake_lock_ = base::MakeUnique<device::PowerSaveBlocker>(
- type_, reason_, *description_, main_task_runner_, file_task_runner_);
+ if (type_ != mojom::WakeLockType::PreventDisplaySleep)
+ return;
#if defined(OS_ANDROID)
gfx::NativeView native_view = native_view_getter_.Run(context_id_);
« no previous file with comments | « device/wake_lock/wake_lock_service_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698