| Index: base/message_loop/message_loop.h
|
| diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
|
| index 39a1b686bac46b698b04c26585ce1e3d23def8ea..8db1e77daf38b21e191df7c0108b6abe0d6571fe 100644
|
| --- a/base/message_loop/message_loop.h
|
| +++ b/base/message_loop/message_loop.h
|
| @@ -371,10 +371,6 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
| void AddTaskObserver(TaskObserver* task_observer);
|
| void RemoveTaskObserver(TaskObserver* task_observer);
|
|
|
| - // When we go into high resolution timer mode, we will stay in hi-res mode
|
| - // for at least 1s.
|
| - static const int kHighResolutionTimerModeLeaseTimeMs = 1000;
|
| -
|
| #if defined(OS_WIN)
|
| void set_os_modal_loop(bool os_modal_loop) {
|
| os_modal_loop_ = os_modal_loop;
|
| @@ -390,7 +386,7 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
|
|
| // Returns true if the message loop has high resolution timers enabled.
|
| // Provided for testing.
|
| - bool IsHighResolutionTimerEnabledForTesting();
|
| + bool HasHighResolutionTasks();
|
|
|
| // Returns true if the message loop is "idle". Provided for testing.
|
| bool IsIdleForTesting();
|
| @@ -459,6 +455,14 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate {
|
| // this queue is only accessed (push/pop) by our current thread.
|
| TaskQueue work_queue_;
|
|
|
| + // How many high resolution tasks are in the pending task queue. This value
|
| + // increases by N every time we call ReloadWorkQueue() and decreases by 1
|
| + // every time we call RunTask() if the task needs a high resolution timer.
|
| + int pending_high_res_tasks_;
|
| + // Tracks if we have requested high resolution timers. Its only use is to
|
| + // turn off the high resolution timer upon loop destruction.
|
| + bool in_high_res_mode_;
|
| +
|
| // Contains delayed tasks, sorted by their 'delayed_run_time' property.
|
| DelayedTaskQueue delayed_work_queue_;
|
|
|
|
|