| Index: components/nacl/browser/nacl_process_host.cc
|
| diff --git a/components/nacl/browser/nacl_process_host.cc b/components/nacl/browser/nacl_process_host.cc
|
| index 6bd813d5ff6fba643335b3962d3fe0819a687b19..961c7a15e9d10345610e6e71732c26c1e4eed38d 100644
|
| --- a/components/nacl/browser/nacl_process_host.cc
|
| +++ b/components/nacl/browser/nacl_process_host.cc
|
| @@ -572,7 +572,7 @@ bool NaClProcessHost::OnMessageReceived(const IPC::Message& msg) {
|
| OnAttachDebugExceptionHandler)
|
| #endif
|
| IPC_MESSAGE_HANDLER(NaClProcessHostMsg_PpapiChannelCreated,
|
| - OnPpapiChannelCreated)
|
| + OnPpapiBrowserChannelCreated)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
| @@ -776,14 +776,11 @@ bool NaClProcessHost::SendStart() {
|
| }
|
|
|
| // This method is called when NaClProcessHostMsg_PpapiChannelCreated is
|
| -// received or PpapiHostMsg_ChannelCreated is forwarded by our plugin
|
| -// listener.
|
| -void NaClProcessHost::OnPpapiChannelCreated(
|
| +// received.
|
| +void NaClProcessHost::OnPpapiBrowserChannelCreated(
|
| const IPC::ChannelHandle& channel_handle) {
|
| // Only renderer processes should create a channel.
|
| DCHECK(enable_ppapi_proxy());
|
| - // If the proxy channel is null, this must be the initial NaCl-Browser IPC
|
| - // channel.
|
| if (!ipc_proxy_channel_.get()) {
|
| DCHECK_EQ(PROCESS_TYPE_NACL_LOADER, process_->GetData().process_type);
|
|
|
| @@ -832,11 +829,19 @@ void NaClProcessHost::OnPpapiChannelCreated(
|
| args,
|
| SerializedHandle(SerializedHandle::CHANNEL_HANDLE,
|
| IPC::InvalidPlatformFileForTransit())));
|
| - } else if (reply_msg_) {
|
| - // Otherwise, this must be a renderer channel.
|
| + } else {
|
| + // Attempt to open more than 1 browser channel is not supported.
|
| + // Shut down the NaCl process.
|
| + process_->GetHost()->ForceShutdown();
|
| + }
|
| +}
|
| +
|
| +void NaClProcessHost::OnPpapiRendererChannelCreated(
|
| + const IPC::ChannelHandle& channel_handle) {
|
| + if (reply_msg_) {
|
| ReplyToRenderer(channel_handle);
|
| } else {
|
| - // Attempt to open more than 1 renderer channel is not supported.
|
| + // Attempt to open more than 1 NaCl renderer channel is not supported.
|
| // Shut down the NaCl process.
|
| process_->GetHost()->ForceShutdown();
|
| }
|
| @@ -847,8 +852,8 @@ bool NaClProcessHost::OnUntrustedMessageForwarded(const IPC::Message& msg) {
|
| // These messages come from untrusted code so should be handled with care.
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(NaClProcessHost, msg)
|
| - IPC_MESSAGE_HANDLER(PpapiHostMsg_ChannelCreated,
|
| - OnPpapiChannelCreated)
|
| + IPC_MESSAGE_HANDLER(PpapiHostMsg_NaClChannelCreated,
|
| + OnPpapiRendererChannelCreated)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
|
|