OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "content/common/np_channel_base.h" | 5 #include "content/common/np_channel_base.h" |
6 | 6 |
7 #include <stack> | 7 #include <stack> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/hash_tables.h" | 10 #include "base/hash_tables.h" |
11 #include "base/lazy_instance.h" | 11 #include "base/lazy_instance.h" |
12 #include "base/string_number_conversions.h" | 12 #include "base/string_number_conversions.h" |
13 #include "ipc/ipc_sync_message.h" | 13 #include "ipc/ipc_sync_message.h" |
14 | 14 |
15 #if defined(OS_POSIX) | 15 #if defined(OS_POSIX) |
16 #include "ipc/ipc_channel_posix.h" | 16 #include "ipc/ipc_channel_posix.h" |
17 #endif | 17 #endif |
18 | 18 |
19 typedef base::hash_map<std::string, scoped_refptr<NPChannelBase> > ChannelMap; | 19 typedef base::hash_map<std::string, scoped_refptr<NPChannelBase> > ChannelMap; |
20 static base::LazyInstance<ChannelMap, | 20 static base::LazyInstance<ChannelMap, |
21 base::LeakyLazyInstanceTraits<ChannelMap> > | 21 base::LeakyLazyInstanceTraits<ChannelMap> > |
22 g_channels(base::LINKER_INITIALIZED); | 22 g_channels = LAZY_INSTANCE_INITIALIZER; |
23 | 23 |
24 typedef std::stack<scoped_refptr<NPChannelBase> > NPChannelRefStack; | 24 typedef std::stack<scoped_refptr<NPChannelBase> > NPChannelRefStack; |
25 static base::LazyInstance<NPChannelRefStack, | 25 static base::LazyInstance<NPChannelRefStack, |
26 base::LeakyLazyInstanceTraits<NPChannelRefStack> > | 26 base::LeakyLazyInstanceTraits<NPChannelRefStack> > |
27 g_lazy_channel_stack(base::LINKER_INITIALIZED); | 27 g_lazy_channel_stack = LAZY_INSTANCE_INITIALIZER; |
28 | 28 |
29 static int next_pipe_id = 0; | 29 static int next_pipe_id = 0; |
30 | 30 |
31 NPChannelBase* NPChannelBase::GetChannel( | 31 NPChannelBase* NPChannelBase::GetChannel( |
32 const IPC::ChannelHandle& channel_handle, IPC::Channel::Mode mode, | 32 const IPC::ChannelHandle& channel_handle, IPC::Channel::Mode mode, |
33 ChannelFactory factory, base::MessageLoopProxy* ipc_message_loop, | 33 ChannelFactory factory, base::MessageLoopProxy* ipc_message_loop, |
34 bool create_pipe_now, base::WaitableEvent* shutdown_event) { | 34 bool create_pipe_now, base::WaitableEvent* shutdown_event) { |
35 scoped_refptr<NPChannelBase> channel; | 35 scoped_refptr<NPChannelBase> channel; |
36 std::string channel_key = channel_handle.name; | 36 std::string channel_key = channel_handle.name; |
37 ChannelMap::const_iterator iter = g_channels.Get().find(channel_key); | 37 ChannelMap::const_iterator iter = g_channels.Get().find(channel_key); |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 | 270 |
271 void NPChannelBase::RemoveMappingForNPObjectStub(int route_id, | 271 void NPChannelBase::RemoveMappingForNPObjectStub(int route_id, |
272 NPObject* object) { | 272 NPObject* object) { |
273 DCHECK(object != NULL); | 273 DCHECK(object != NULL); |
274 stub_map_.erase(object); | 274 stub_map_.erase(object); |
275 } | 275 } |
276 | 276 |
277 void NPChannelBase::RemoveMappingForNPObjectProxy(int route_id) { | 277 void NPChannelBase::RemoveMappingForNPObjectProxy(int route_id) { |
278 proxy_map_.erase(route_id); | 278 proxy_map_.erase(route_id); |
279 } | 279 } |
OLD | NEW |