Chromium Code Reviews| Index: content/browser/power_save_blocker.h |
| diff --git a/content/browser/power_save_blocker.h b/content/browser/power_save_blocker.h |
| index 7d04e6ebbdd5f31c8c7ef16a184424e11acd6d6f..2b4c2170fc1c33eb8ba09ad4d9b28ece927cf3f5 100644 |
| --- a/content/browser/power_save_blocker.h |
| +++ b/content/browser/power_save_blocker.h |
| @@ -6,35 +6,48 @@ |
| #define CONTENT_BROWSER_POWER_SAVE_BLOCKER_H_ |
| #pragma once |
| +#include <vector> |
| + |
| #include "base/basictypes.h" |
| // A RAII-style class to block the system from entering low-power (sleep) mode. |
| class PowerSaveBlocker { |
| public: |
| - explicit PowerSaveBlocker(bool enabled); |
| - ~PowerSaveBlocker(); |
| + enum PowerSaveBlockerType { |
| + kPowerSaveBlockPreventNone = -1, |
| + |
| + // Prevent the system from going to sleep; allow display sleep. |
| + kPowerSaveBlockPreventSystemSleep, |
| - bool enabled() const { return enabled_; } |
| + // Prevent the system or display from going to sleep. |
| + kPowerSaveBlockPreventDisplaySleep |
| + }; |
| - // Puts the sleep mode block into effect. |
| - void Enable(); |
| - // Disables the sleep block. |
| - void Disable(); |
| + explicit PowerSaveBlocker(PowerSaveBlockerType type); |
|
Mark Mentovai
2011/10/13 19:09:13
This should never accept kPowerSaveBlockPreventNon
|
| + ~PowerSaveBlocker(); |
| private: |
| + enum { |
| + kPowerSaveBlockPreventStateCount = |
| + kPowerSaveBlockPreventDisplaySleep + 1 |
| + }; |
| + |
| // Platform-specific function called when enable state is changed. |
| // Guaranteed to be called only from the UI thread. |
| - static void ApplyBlock(bool blocked); |
| + static void ApplyBlock(PowerSaveBlockerType type); |
| // Called only from UI thread. |
| - static void AdjustBlockCount(int delta); |
| + static void AdjustBlockCount(const std::vector<int>& deltas); |
| // Invokes AdjustBlockCount on the UI thread. |
| - static void PostAdjustBlockCount(int delta); |
| + static void PostAdjustBlockCount(const std::vector<int>& deltas); |
| + |
| + // Returns the highest-severity block type in use. |
| + static PowerSaveBlockerType HighestBlockType(); |
| - bool enabled_; |
| + PowerSaveBlockerType type_; |
| - static int blocker_count_; |
| + static int blocker_count_[]; |
| DISALLOW_COPY_AND_ASSIGN(PowerSaveBlocker); |
| }; |