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

Unified Diff: chromeos/dbus/power_policy_controller.h

Issue 946643002: Use PowerSaveBlocker for audio and video on Chrome OS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update a comment Created 5 years, 10 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
Index: chromeos/dbus/power_policy_controller.h
diff --git a/chromeos/dbus/power_policy_controller.h b/chromeos/dbus/power_policy_controller.h
index 142892b7a4263a5f5154c306d77e9452511fef37..542121cfb83471414d2cd7103b046e20ba4bb16e 100644
--- a/chromeos/dbus/power_policy_controller.h
+++ b/chromeos/dbus/power_policy_controller.h
@@ -32,6 +32,13 @@ class CHROMEOS_EXPORT PowerPolicyController
// Returns the global instance. Initialize() must be called first.
static PowerPolicyController* Get();
+ // Reasons why a wake lock may be added.
+ enum WakeLockReason {
+ REASON_AUDIO_PLAYBACK,
+ REASON_VIDEO_PLAYBACK,
+ REASON_OTHER,
+ };
+
// Note: Do not change these values; they are used by preferences.
enum Action {
ACTION_SUSPEND = 0,
@@ -79,16 +86,20 @@ class CHROMEOS_EXPORT PowerPolicyController
// constant would imply.
static const int kScreenLockAfterOffDelayMs;
+ // String added to a PowerManagementPolicy |reason| field if the policy has
+ // been modified by preferences.
+ static const char kPrefsReason[];
+
// Updates |prefs_policy_| with |values| and sends an updated policy.
void ApplyPrefs(const PrefValues& values);
- // Registers a request to temporarily prevent the screen from getting
- // dimmed or turned off or the system from suspending in response to user
- // inactivity and sends an updated policy. |reason| is a human-readable
- // description of the reason the lock was created. Returns a unique ID
- // that can be passed to RemoveWakeLock() later.
- int AddScreenWakeLock(const std::string& reason);
- int AddSystemWakeLock(const std::string& reason);
+ // Registers a request to temporarily prevent the screen from getting dimmed
+ // or turned off or the system from suspending in response to user inactivity
+ // and sends an updated policy. |description| is a human-readable description
+ // of the reason the lock was created. Returns a unique ID that can be passed
+ // to RemoveWakeLock() later.
+ int AddScreenWakeLock(WakeLockReason reason, const std::string& description);
+ int AddSystemWakeLock(WakeLockReason reason, const std::string& description);
// Unregisters a request previously created via AddScreenWakeLock() or
// AddSystemWakeLock() and sends an updated policy.
@@ -103,7 +114,28 @@ class CHROMEOS_EXPORT PowerPolicyController
friend class PowerPrefsTest;
- typedef std::map<int, std::string> WakeLockMap;
+ // Details about a wake lock added via AddScreenWakeLock() or
+ // AddSystemWakeLock().
+ struct WakeLock {
+ enum Type {
+ TYPE_SCREEN,
+ TYPE_SYSTEM,
+ };
+
+ WakeLock(Type type, WakeLockReason reason, const std::string& description);
+ ~WakeLock();
+
+ Type type;
bartfab (slow) 2015/02/23 13:56:49 Nit: const.
Daniel Erat 2015/02/23 16:34:05 Done.
+ WakeLockReason reason;
bartfab (slow) 2015/02/23 13:56:49 Nit: const.
Daniel Erat 2015/02/23 16:34:05 Done.
+ std::string description;
bartfab (slow) 2015/02/23 13:56:49 Nit: const.
Daniel Erat 2015/02/23 16:34:05 Done.
+ };
+
+ typedef std::map<int, WakeLock> WakeLockMap;
bartfab (slow) 2015/02/23 13:56:49 Nit: Use C++11 using= instead of typedef.
Daniel Erat 2015/02/23 16:34:05 Done.
+
+ // Helper method for AddScreenWakeLock() and AddSystemWakeLock().
+ int AddWakeLockInternal(WakeLock::Type type,
+ WakeLockReason reason,
+ const std::string& description);
// Sends a policy based on |prefs_policy_| to the power manager.
void SendCurrentPolicy();
@@ -118,12 +150,11 @@ class CHROMEOS_EXPORT PowerPolicyController
// Maps from an ID representing a request to prevent the screen from
// getting dimmed or turned off or to prevent the system from suspending
- // to the reason for the request.
- WakeLockMap screen_wake_locks_;
- WakeLockMap system_wake_locks_;
+ // to details about the request.
+ WakeLockMap wake_locks_;
- // Should entries in |screen_wake_locks_| be honored? If false, screen
- // wake locks are just treated as system wake locks instead.
+ // Should TYPE_SCREEN entries in |wake_locks_| be honored? If false, screen
+ // wake locks are just treated as TYPE_SYSTEM instead.
bool honor_screen_wake_locks_;
// Next ID to be used by AddScreenWakeLock() or AddSystemWakeLock().

Powered by Google App Engine
This is Rietveld 408576698