Index: chrome/plugin/plugin_channel_base.cc |
diff --git a/chrome/plugin/plugin_channel_base.cc b/chrome/plugin/plugin_channel_base.cc |
index 6494afb35773318390fe2d078a98ff1c74613b06..37bc1c4c4d874aa15107f1da293fac293bcc2e31 100644 |
--- a/chrome/plugin/plugin_channel_base.cc |
+++ b/chrome/plugin/plugin_channel_base.cc |
@@ -28,11 +28,11 @@ static base::LazyInstance<std::stack<scoped_refptr<PluginChannelBase> > > |
static int next_pipe_id = 0; |
PluginChannelBase* PluginChannelBase::GetChannel( |
- const std::string& channel_key, IPC::Channel::Mode mode, |
+ const IPC::ChannelHandle& channel_handle, IPC::Channel::Mode mode, |
PluginChannelFactory factory, MessageLoop* ipc_message_loop, |
bool create_pipe_now) { |
scoped_refptr<PluginChannelBase> channel; |
- |
+ std::string channel_key = channel_handle.name; |
PluginChannelMap::const_iterator iter = g_plugin_channels_.find(channel_key); |
if (iter == g_plugin_channels_.end()) { |
channel = factory(); |
@@ -43,10 +43,10 @@ PluginChannelBase* PluginChannelBase::GetChannel( |
DCHECK(channel != NULL); |
if (!channel->channel_valid()) { |
- channel->channel_name_ = channel_key; |
+ channel->channel_handle_ = channel_handle; |
if (mode == IPC::Channel::MODE_SERVER) { |
- channel->channel_name_.append("."); |
- channel->channel_name_.append(base::IntToString(next_pipe_id++)); |
+ channel->channel_handle_.name.append("."); |
+ channel->channel_handle_.name.append(base::IntToString(next_pipe_id++)); |
} |
channel->mode_ = mode; |
if (channel->Init(ipc_message_loop, create_pipe_now)) { |
@@ -115,7 +115,7 @@ NPObjectBase* PluginChannelBase::GetNPObjectListenerForRoute(int route_id) { |
bool PluginChannelBase::Init(MessageLoop* ipc_message_loop, |
bool create_pipe_now) { |
channel_.reset(new IPC::SyncChannel( |
- channel_name_, mode_, this, ipc_message_loop, create_pipe_now, |
+ channel_handle_, mode_, this, ipc_message_loop, create_pipe_now, |
ChildProcess::current()->GetShutDownEvent())); |
channel_valid_ = true; |
return true; |
@@ -219,11 +219,6 @@ void PluginChannelBase::RemoveRoute(int route_id) { |
for (PluginChannelMap::iterator iter = g_plugin_channels_.begin(); |
iter != g_plugin_channels_.end(); ++iter) { |
if (iter->second == this) { |
-#if defined(OS_POSIX) |
- if (channel_valid()) { |
- IPC::RemoveAndCloseChannelSocket(channel_name()); |
- } |
-#endif |
g_plugin_channels_.erase(iter); |
return; |
} |
@@ -239,10 +234,5 @@ void PluginChannelBase::OnControlMessageReceived(const IPC::Message& msg) { |
} |
void PluginChannelBase::OnChannelError() { |
-#if defined(OS_POSIX) |
- if (channel_valid()) { |
- IPC::RemoveAndCloseChannelSocket(channel_name()); |
- } |
-#endif |
channel_valid_ = false; |
} |