OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/nacl/renderer/trusted_plugin_channel.h" | 5 #include "components/nacl/renderer/trusted_plugin_channel.h" |
6 | 6 |
7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
8 #include "content/public/renderer/render_thread.h" | 8 #include "content/public/renderer/render_thread.h" |
9 #include "ipc/ipc_channel.h" | 9 #include "ipc/ipc_channel.h" |
10 #include "ipc/ipc_sync_channel.h" | 10 #include "ipc/ipc_sync_channel.h" |
11 #include "ppapi/c/pp_errors.h" | 11 #include "ppapi/c/pp_errors.h" |
12 | 12 |
13 namespace nacl { | 13 namespace nacl { |
14 | 14 |
15 TrustedPluginChannel::TrustedPluginChannel( | 15 TrustedPluginChannel::TrustedPluginChannel( |
16 const IPC::ChannelHandle& handle, | 16 const IPC::ChannelHandle& handle, |
17 const base::Callback<void(int32_t)>& connected_callback, | 17 const base::Callback<void(int32_t)>& connected_callback, |
18 base::WaitableEvent* waitable_event) | 18 base::WaitableEvent* waitable_event) |
19 : connected_callback_(connected_callback), | 19 : connected_callback_(connected_callback), |
20 channel_(new IPC::SyncChannel( | 20 channel_(IPC::SyncChannel::CreateClient( |
21 handle, IPC::Channel::MODE_CLIENT, this, | 21 handle, this, |
22 content::RenderThread::Get()->GetIOMessageLoopProxy(), true, | 22 content::RenderThread::Get()->GetIOMessageLoopProxy(), true, |
23 waitable_event)) { | 23 waitable_event)) { |
24 } | 24 } |
25 | 25 |
26 TrustedPluginChannel::~TrustedPluginChannel() { | 26 TrustedPluginChannel::~TrustedPluginChannel() { |
27 if (!connected_callback_.is_null()) | 27 if (!connected_callback_.is_null()) |
28 base::ResetAndReturn(&connected_callback_).Run(PP_ERROR_FAILED); | 28 base::ResetAndReturn(&connected_callback_).Run(PP_ERROR_FAILED); |
29 } | 29 } |
30 | 30 |
31 bool TrustedPluginChannel::Send(IPC::Message* message) { | 31 bool TrustedPluginChannel::Send(IPC::Message* message) { |
32 return channel_->Send(message); | 32 return channel_->Send(message); |
33 } | 33 } |
34 | 34 |
35 bool TrustedPluginChannel::OnMessageReceived(const IPC::Message& message) { | 35 bool TrustedPluginChannel::OnMessageReceived(const IPC::Message& message) { |
36 return false; | 36 return false; |
37 } | 37 } |
38 | 38 |
39 void TrustedPluginChannel::OnChannelConnected(int32 peer_pid) { | 39 void TrustedPluginChannel::OnChannelConnected(int32 peer_pid) { |
40 if (!connected_callback_.is_null()) | 40 if (!connected_callback_.is_null()) |
41 base::ResetAndReturn(&connected_callback_).Run(PP_OK); | 41 base::ResetAndReturn(&connected_callback_).Run(PP_OK); |
42 } | 42 } |
43 | 43 |
44 void TrustedPluginChannel::OnChannelError() { | 44 void TrustedPluginChannel::OnChannelError() { |
45 if (!connected_callback_.is_null()) | 45 if (!connected_callback_.is_null()) |
46 base::ResetAndReturn(&connected_callback_).Run(PP_ERROR_FAILED); | 46 base::ResetAndReturn(&connected_callback_).Run(PP_ERROR_FAILED); |
47 } | 47 } |
48 | 48 |
49 } // namespace nacl | 49 } // namespace nacl |
OLD | NEW |