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..d533cafd1026069f8345516bcf8369d0e6b5ebbe 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,9 +66,9 @@ 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_; |
darin (slow to review)
2014/07/18 04:07:58
can this number be negative? should we use unsigne
cpu_(ooo_6.6-7.5)
2014/07/18 22:53:10
I rather use signed math to make sure we count dow
|
// The lock that protects access to |incoming_queue_|, |message_loop_| and |
darin (slow to review)
2014/07/18 04:07:58
This lock also protects access to high_res_task_co
cpu_(ooo_6.6-7.5)
2014/07/18 22:53:10
Done.
|
// |next_sequence_num_|. |