Index: Source/core/workers/WorkerRunLoop.cpp |
=================================================================== |
--- Source/core/workers/WorkerRunLoop.cpp (revision 176820) |
+++ Source/core/workers/WorkerRunLoop.cpp (working copy) |
@@ -179,6 +179,7 @@ |
ASSERT(m_context->thread()); |
ASSERT(m_context->thread()->isCurrentThread()); |
+ bool isDebuggerQueue = (&queue == &m_debuggerMessageQueue); |
bool nextTimeoutEventIsIdleWatchdog; |
MessageQueueWaitResult result; |
OwnPtr<blink::WebThread::Task> task; |
@@ -186,7 +187,7 @@ |
double absoluteTime = 0.0; |
nextTimeoutEventIsIdleWatchdog = false; |
if (waitMode == WaitForMessage) { |
- absoluteTime = m_sharedTimer->isActive() ? m_sharedTimer->fireTime() : MessageQueue<blink::WebThread::Task>::infiniteTime(); |
+ absoluteTime = !isDebuggerQueue && m_sharedTimer->isActive() ? m_sharedTimer->fireTime() : MessageQueue<blink::WebThread::Task>::infiniteTime(); |
// Do a script engine idle notification if the next event is distant enough. |
const double kMinIdleTimespan = 0.3; // seconds |
@@ -225,6 +226,7 @@ |
break; |
case MessageQueueTimeout: |
+ ASSERT(!isDebuggerQueue || waitMode != WaitForMessage); |
if (!m_context->isClosing()) |
m_sharedTimer->fire(); |
break; |