diff options
-rw-r--r-- | chrome/common/webmessageportchannel_impl.cc | 5 | ||||
-rw-r--r-- | chrome/worker/worker_uitest.cc | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/chrome/common/webmessageportchannel_impl.cc b/chrome/common/webmessageportchannel_impl.cc index 4ff8b55..24304fd 100644 --- a/chrome/common/webmessageportchannel_impl.cc +++ b/chrome/common/webmessageportchannel_impl.cc @@ -151,6 +151,11 @@ void WebMessagePortChannelImpl::Entangle( } void WebMessagePortChannelImpl::QueueMessages() { + if (MessageLoop::current() != ChildThread::current()->message_loop()) { + ChildThread::current()->message_loop()->PostTask(FROM_HERE, + NewRunnableMethod(this, &WebMessagePortChannelImpl::QueueMessages)); + return; + } // This message port is being sent elsewhere (perhaps to another process). // The new endpoint needs to receive the queued messages, including ones that // could still be in-flight. So we tell the browser to queue messages, and it diff --git a/chrome/worker/worker_uitest.cc b/chrome/worker/worker_uitest.cc index 99a80d1..1abc538 100644 --- a/chrome/worker/worker_uitest.cc +++ b/chrome/worker/worker_uitest.cc @@ -229,12 +229,6 @@ TEST_F(WorkerTest, WorkerContextGc) { RunWorkerFastLayoutTest("worker-context-gc.html"); } -// BUG 42783 -// Still fails intermittently on rel builds of Linux. -#if defined(OS_LINUX) -#define WorkerContextMultiPort DISABLED_WorkerContextMultiPort -#endif - TEST_F(WorkerTest, WorkerContextMultiPort) { RunWorkerFastLayoutTest("worker-context-multi-port.html"); } |