diff options
author | mbelshe@chromium.org <mbelshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-20 08:52:32 +0000 |
---|---|---|
committer | mbelshe@chromium.org <mbelshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-20 08:52:32 +0000 |
commit | 47245d6709f7f16a65cfb3df9aeb51fb32d5a4ea (patch) | |
tree | 36051d10c826994d095b116955f42dae2de16e52 /base/time.h | |
parent | c4fcdca3cfec4ca060d29d10cdc06dc83aed1bf2 (diff) | |
download | chromium_src-47245d6709f7f16a65cfb3df9aeb51fb32d5a4ea.zip chromium_src-47245d6709f7f16a65cfb3df9aeb51fb32d5a4ea.tar.gz chromium_src-47245d6709f7f16a65cfb3df9aeb51fb32d5a4ea.tar.bz2 |
2nd try:
Fix regression where high resolution timers could be activated even under
battery power. Add unit test to protect chromium from developers like me
in the future.
The fix is a one-liner in hi_res_timer_manager_win.cc. The rest of the code
change is the mechanics to enable the unit test.
BUG=59528
TEST=HiResTimerManagerTest.ToggleOnOff
Review URL: http://codereview.chromium.org/3889004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63191 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/time.h')
-rw-r--r-- | base/time.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/base/time.h b/base/time.h index 79e30b4..305ca6b 100644 --- a/base/time.h +++ b/base/time.h @@ -283,10 +283,16 @@ class Time { // Activates or deactivates the high resolution timer based on the |activate| // flag. If the HighResolutionTimer is not Enabled (see // EnableHighResolutionTimer), this function will return false. Otherwise - // returns true. + // returns true. Each successful activate call must be paired with a + // subsequent deactivate call. // All callers to activate the high resolution timer must eventually call // this function to deactivate the high resolution timer. static bool ActivateHighResolutionTimer(bool activate); + + // Returns true if the high resolution timer is both enabled and activated. + // This is provided for testing only, and is not tracked in a thread-safe + // way. + static bool IsHighResolutionTimerInUse(); #endif // Converts an exploded structure representing either the local time or UTC @@ -405,6 +411,9 @@ class Time { // when using battery power, we might elect to prevent high speed timers // which would draw more power. static bool high_resolution_timer_enabled_; + // Count of activations on the high resolution timer. Only use in tests + // which are single threaded. + static int high_resolution_timer_activated_; #endif // Time in microseconds in UTC. |