diff options
-rw-r--r-- | chrome/renderer/audio_message_filter.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/chrome/renderer/audio_message_filter.cc b/chrome/renderer/audio_message_filter.cc index de209d9..d9c3a44 100644 --- a/chrome/renderer/audio_message_filter.cc +++ b/chrome/renderer/audio_message_filter.cc @@ -23,6 +23,15 @@ bool AudioMessageFilter::Send(IPC::Message* message) { delete message; return false; } + + if (MessageLoop::current() != message_loop_) { + // Can only access the IPC::Channel on the IPC thread since it's not thread + // safe. + message_loop_->PostTask( + FROM_HERE, NewRunnableMethod(this, &AudioMessageFilter::Send, message)); + return true; + } + message->set_routing_id(route_id_); return channel_->Send(message); } |