Chromium Code Reviews| Index: components/nacl/renderer/trusted_plugin_channel.cc |
| diff --git a/components/nacl/renderer/trusted_plugin_channel.cc b/components/nacl/renderer/trusted_plugin_channel.cc |
| index 29e8aff20a0d74f2c0d56bbfb64ea2752386b1cd..c875384153a4eeac44e1df4531ed4386345a0ba9 100644 |
| --- a/components/nacl/renderer/trusted_plugin_channel.cc |
| +++ b/components/nacl/renderer/trusted_plugin_channel.cc |
| @@ -5,15 +5,20 @@ |
| #include "components/nacl/renderer/trusted_plugin_channel.h" |
| #include "base/callback_helpers.h" |
| +#include "components/nacl/common/nacl_renderer_messages.h" |
| +#include "components/nacl/renderer/nexe_load_manager.h" |
| #include "content/public/renderer/render_thread.h" |
| #include "ipc/ipc_sync_channel.h" |
| +#include "ipc/ipc_message_macros.h" |
| #include "ppapi/c/pp_errors.h" |
| namespace nacl { |
| TrustedPluginChannel::TrustedPluginChannel( |
| + PP_Instance instance, |
| const IPC::ChannelHandle& handle, |
| - base::WaitableEvent* shutdown_event) { |
| + base::WaitableEvent* shutdown_event) |
| + : instance_(instance) { |
| channel_ = IPC::SyncChannel::Create( |
| handle, |
| IPC::Channel::MODE_CLIENT, |
| @@ -30,8 +35,19 @@ bool TrustedPluginChannel::Send(IPC::Message* message) { |
| return channel_->Send(message); |
| } |
| -bool TrustedPluginChannel::OnMessageReceived(const IPC::Message& message) { |
| - return false; |
| +bool TrustedPluginChannel::OnMessageReceived(const IPC::Message& msg) { |
| + bool handled = true; |
| + IPC_BEGIN_MESSAGE_MAP(TrustedPluginChannel, msg) |
| + IPC_MESSAGE_HANDLER(NaClRendererMsg_ReportExitStatus, OnReportExitStatus); |
| + IPC_MESSAGE_UNHANDLED(handled = false); |
| + IPC_END_MESSAGE_MAP() |
| + return handled; |
| +} |
| + |
| +void TrustedPluginChannel::OnReportExitStatus(int exit_status) { |
| + NexeLoadManager* load_manager = NexeLoadManager::Get(instance_); |
| + if (load_manager) |
|
Mark Seaborn
2014/08/21 21:12:32
When would this be NULL? Should there be a CHECK
teravest
2014/08/22 16:07:12
I've changed this to a DCHECK, storing a NexeLoadM
|
| + load_manager->set_exit_status(exit_status); |
| } |
| } // namespace nacl |