Index: message_loop.cc =================================================================== --- message_loop.cc (revision 85124) +++ message_loop.cc (working copy) @@ -387,9 +387,13 @@ } void MessageLoop::AssertIdle() const { + DCHECK(IsIdle()); +} + +bool MessageLoop::IsIdle() const { // We only check |incoming_queue_|, since we don't want to lock |work_queue_|. base::AutoLock lock(incoming_queue_lock_); - DCHECK(incoming_queue_.empty()); + return incoming_queue_.empty(); } //------------------------------------------------------------------------------ Index: message_loop.h =================================================================== --- message_loop.h (revision 85124) +++ message_loop.h (working copy) @@ -351,6 +351,9 @@ // Asserts that the MessageLoop is "idle". void AssertIdle() const; + // Returns true if the MessageLoop is "idle". + bool IsIdle() const; + #if defined(OS_WIN) void set_os_modal_loop(bool os_modal_loop) { os_modal_loop_ = os_modal_loop;