| Index: chrome/common/webmessageportchannel_impl.cc
|
| diff --git a/chrome/common/webmessageportchannel_impl.cc b/chrome/common/webmessageportchannel_impl.cc
|
| index 4ff8b550e7bacf9baa77475639a47270e801f3f9..24304fd3351d44021041bc9e0e94a69d8263afcb 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
|
|
|