Home | History | Annotate | Download | only in child
      1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "content/child/thread_safe_sender.h"
      6 
      7 #include "base/message_loop/message_loop_proxy.h"
      8 #include "content/child/child_thread.h"
      9 #include "ipc/ipc_sync_message_filter.h"
     10 
     11 namespace content {
     12 
     13 ThreadSafeSender::ThreadSafeSender(base::MessageLoopProxy* main_loop,
     14                                    IPC::SyncMessageFilter* sync_filter)
     15     : main_loop_(main_loop), sync_filter_(sync_filter) {
     16 }
     17 
     18 ThreadSafeSender::~ThreadSafeSender() {
     19 }
     20 
     21 bool ThreadSafeSender::Send(IPC::Message* msg) {
     22   if (main_loop_->BelongsToCurrentThread())
     23     return ChildThread::current()->Send(msg);
     24   return sync_filter_->Send(msg);
     25 }
     26 
     27 }  // namespace content
     28