Index: base/message_loop/incoming_task_queue.h |
diff --git a/base/message_loop/incoming_task_queue.h b/base/message_loop/incoming_task_queue.h |
index 56c5638295b8440cdcad41871f28e71eb7ee16e8..30f26033a2d5d61d66153c36a66cff2f1e1c33cd 100644 |
--- a/base/message_loop/incoming_task_queue.h |
+++ b/base/message_loop/incoming_task_queue.h |
@@ -38,16 +38,17 @@ class BASE_EXPORT IncomingTaskQueue |
TimeDelta delay, |
bool nestable); |
- // Returns true if the message loop has high resolution timers enabled. |
- // Provided for testing. |
- bool IsHighResolutionTimerEnabledForTesting(); |
+ // Returns true if the queue contains tasks that require higher than default |
+ // timer resolution. Currently only needed for Windows. |
+ bool HasHighResolutionTasks(); |
// Returns true if the message loop is "idle". Provided for testing. |
bool IsIdleForTesting(); |
// Loads tasks from the |incoming_queue_| into |*work_queue|. Must be called |
- // from the thread that is running the loop. |
- void ReloadWorkQueue(TaskQueue* work_queue); |
+ // from the thread that is running the loop. Returns the number of tasks that |
+ // require high resolution timers. |
+ int ReloadWorkQueue(TaskQueue* work_queue); |
// Disconnects |this| from the parent message loop. |
void WillDestroyCurrentMessageLoop(); |
@@ -65,12 +66,11 @@ class BASE_EXPORT IncomingTaskQueue |
// does not retain |pending_task->task| beyond this function call. |
bool PostPendingTask(PendingTask* pending_task); |
-#if defined(OS_WIN) |
- TimeTicks high_resolution_timer_expiration_; |
-#endif |
+ // Number of tasks that require high resolution timing. This value is kept |
+ // so that ReloadWorkQueue() completes in constant time. |
+ int high_res_task_count_; |
- // The lock that protects access to |incoming_queue_|, |message_loop_| and |
- // |next_sequence_num_|. |
+ // The lock that protects access to the members of this class. |
darin (slow to review)
2014/07/19 04:06:57
micro-nit: How about listing the lock as the first
|
base::Lock incoming_queue_lock_; |
// An incoming queue of tasks that are acquired under a mutex for processing |