OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/proxy/proxy_channel.h" | 5 #include "ppapi/proxy/proxy_channel.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "ipc/ipc_platform_file.h" | 8 #include "ipc/ipc_platform_file.h" |
9 #include "ipc/ipc_test_sink.h" | 9 #include "ipc/ipc_test_sink.h" |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... |
24 ProxyChannel::~ProxyChannel() { | 24 ProxyChannel::~ProxyChannel() { |
25 DVLOG(1) << "ProxyChannel::~ProxyChannel()"; | 25 DVLOG(1) << "ProxyChannel::~ProxyChannel()"; |
26 } | 26 } |
27 | 27 |
28 bool ProxyChannel::InitWithChannel(Delegate* delegate, | 28 bool ProxyChannel::InitWithChannel(Delegate* delegate, |
29 base::ProcessId peer_pid, | 29 base::ProcessId peer_pid, |
30 const IPC::ChannelHandle& channel_handle, | 30 const IPC::ChannelHandle& channel_handle, |
31 bool is_client) { | 31 bool is_client) { |
32 delegate_ = delegate; | 32 delegate_ = delegate; |
33 peer_pid_ = peer_pid; | 33 peer_pid_ = peer_pid; |
34 IPC::Channel::Mode mode = is_client ? IPC::Channel::MODE_CLIENT | 34 channel_ = IPC::SyncChannel::Create( |
35 : IPC::Channel::MODE_SERVER; | 35 this, |
36 channel_.reset(new IPC::SyncChannel(channel_handle, mode, this, | 36 delegate->GetIPCMessageLoop(), |
37 delegate->GetIPCMessageLoop(), true, | 37 delegate->GetShutdownEvent()); |
38 delegate->GetShutdownEvent())); | 38 if (is_client) |
| 39 channel_->InitClient(channel_handle, true); |
| 40 else |
| 41 channel_->InitServer(channel_handle, true); |
39 return true; | 42 return true; |
40 } | 43 } |
41 | 44 |
42 void ProxyChannel::InitWithTestSink(IPC::TestSink* test_sink) { | 45 void ProxyChannel::InitWithTestSink(IPC::TestSink* test_sink) { |
43 DCHECK(!test_sink_); | 46 DCHECK(!test_sink_); |
44 test_sink_ = test_sink; | 47 test_sink_ = test_sink; |
45 #if !defined(OS_NACL) | 48 #if !defined(OS_NACL) |
46 peer_pid_ = base::GetCurrentProcId(); | 49 peer_pid_ = base::GetCurrentProcId(); |
47 #endif | 50 #endif |
48 } | 51 } |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 if (channel_.get()) | 86 if (channel_.get()) |
84 return channel_->Send(msg); | 87 return channel_->Send(msg); |
85 | 88 |
86 // Remote side crashed, drop this message. | 89 // Remote side crashed, drop this message. |
87 delete msg; | 90 delete msg; |
88 return false; | 91 return false; |
89 } | 92 } |
90 | 93 |
91 } // namespace proxy | 94 } // namespace proxy |
92 } // namespace ppapi | 95 } // namespace ppapi |
OLD | NEW |