Chromium Code Reviews| Index: base/message_loop/message_loop.cc |
| diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
| index 826c7573ee60e942fd0fb1beac5dff327d7a907c..84b380d7aa34ef9aa8d73789d702db49dc2b6165 100644 |
| --- a/base/message_loop/message_loop.cc |
| +++ b/base/message_loop/message_loop.cc |
| @@ -656,6 +656,24 @@ bool MessageLoop::DoIdleWork() { |
| return false; |
| } |
| +void MessageLoop::GetQueueingInformation(size_t* queue_size, |
| + TimeDelta* queueing_delay) { |
| + size_t size = work_queue_.size(); |
| + if (queue_size) |
|
Mark Mentovai
2013/08/22 18:00:12
Since nobody needs to call this with NULL argument
Robert Sesek
2013/08/22 19:12:21
Done.
|
| + *queue_size = size + delayed_work_queue_.size(); |
| + |
| + if (size == 0 || !queueing_delay) { |
| + if (queueing_delay) |
| + *queueing_delay = TimeDelta(); |
| + return; |
| + } |
| + |
| + const PendingTask& next_to_run = work_queue_.front(); |
| + tracked_objects::Duration duration = |
| + tracked_objects::TrackedTime::Now() - next_to_run.EffectiveTimePosted(); |
| + *queueing_delay = TimeDelta::FromMilliseconds(duration.InMilliseconds()); |
| +} |
| + |
| void MessageLoop::DeleteSoonInternal(const tracked_objects::Location& from_here, |
| void(*deleter)(const void*), |
| const void* object) { |