OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CONTENT_CHILD_CHILD_THREAD_H_ | 5 #ifndef CONTENT_CHILD_CHILD_THREAD_H_ |
6 #define CONTENT_CHILD_CHILD_THREAD_H_ | 6 #define CONTENT_CHILD_CHILD_THREAD_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/memory/shared_memory.h" | 10 #include "base/memory/shared_memory.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 namespace content { | 36 namespace content { |
37 class ChildHistogramMessageFilter; | 37 class ChildHistogramMessageFilter; |
38 class ChildResourceMessageFilter; | 38 class ChildResourceMessageFilter; |
39 class FileSystemDispatcher; | 39 class FileSystemDispatcher; |
40 class QuotaDispatcher; | 40 class QuotaDispatcher; |
41 class QuotaMessageFilter; | 41 class QuotaMessageFilter; |
42 class ResourceDispatcher; | 42 class ResourceDispatcher; |
43 class SocketStreamDispatcher; | 43 class SocketStreamDispatcher; |
44 class ThreadSafeSender; | 44 class ThreadSafeSender; |
| 45 class WebSocketDispatcher; |
45 | 46 |
46 // The main thread of a child process derives from this class. | 47 // The main thread of a child process derives from this class. |
47 class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender { | 48 class CONTENT_EXPORT ChildThread : public IPC::Listener, public IPC::Sender { |
48 public: | 49 public: |
49 // Creates the thread. | 50 // Creates the thread. |
50 ChildThread(); | 51 ChildThread(); |
51 // Used for single-process mode. | 52 // Used for single-process mode. |
52 explicit ChildThread(const std::string& channel_name); | 53 explicit ChildThread(const std::string& channel_name); |
53 // ChildProcess::main_thread() is reset after Shutdown(), and before the | 54 // ChildProcess::main_thread() is reset after Shutdown(), and before the |
54 // destructor, so any subsystem that relies on ChildProcess::main_thread() | 55 // destructor, so any subsystem that relies on ChildProcess::main_thread() |
(...skipping 29 matching lines...) Expand all Loading... |
84 IPC::Sender* sender); | 85 IPC::Sender* sender); |
85 | 86 |
86 ResourceDispatcher* resource_dispatcher() const { | 87 ResourceDispatcher* resource_dispatcher() const { |
87 return resource_dispatcher_.get(); | 88 return resource_dispatcher_.get(); |
88 } | 89 } |
89 | 90 |
90 SocketStreamDispatcher* socket_stream_dispatcher() const { | 91 SocketStreamDispatcher* socket_stream_dispatcher() const { |
91 return socket_stream_dispatcher_.get(); | 92 return socket_stream_dispatcher_.get(); |
92 } | 93 } |
93 | 94 |
| 95 WebSocketDispatcher* websocket_dispatcher() const { |
| 96 return websocket_dispatcher_.get(); |
| 97 } |
| 98 |
94 FileSystemDispatcher* file_system_dispatcher() const { | 99 FileSystemDispatcher* file_system_dispatcher() const { |
95 return file_system_dispatcher_.get(); | 100 return file_system_dispatcher_.get(); |
96 } | 101 } |
97 | 102 |
98 QuotaDispatcher* quota_dispatcher() const { | 103 QuotaDispatcher* quota_dispatcher() const { |
99 return quota_dispatcher_.get(); | 104 return quota_dispatcher_.get(); |
100 } | 105 } |
101 | 106 |
102 IPC::SyncMessageFilter* sync_message_filter() const { | 107 IPC::SyncMessageFilter* sync_message_filter() const { |
103 return sync_message_filter_.get(); | 108 return sync_message_filter_.get(); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 | 178 |
174 // Implements message routing functionality to the consumers of ChildThread. | 179 // Implements message routing functionality to the consumers of ChildThread. |
175 MessageRouter router_; | 180 MessageRouter router_; |
176 | 181 |
177 // Handles resource loads for this process. | 182 // Handles resource loads for this process. |
178 scoped_ptr<ResourceDispatcher> resource_dispatcher_; | 183 scoped_ptr<ResourceDispatcher> resource_dispatcher_; |
179 | 184 |
180 // Handles SocketStream for this process. | 185 // Handles SocketStream for this process. |
181 scoped_ptr<SocketStreamDispatcher> socket_stream_dispatcher_; | 186 scoped_ptr<SocketStreamDispatcher> socket_stream_dispatcher_; |
182 | 187 |
| 188 scoped_ptr<WebSocketDispatcher> websocket_dispatcher_; |
| 189 |
183 // The OnChannelError() callback was invoked - the channel is dead, don't | 190 // The OnChannelError() callback was invoked - the channel is dead, don't |
184 // attempt to communicate. | 191 // attempt to communicate. |
185 bool on_channel_error_called_; | 192 bool on_channel_error_called_; |
186 | 193 |
187 base::MessageLoop* message_loop_; | 194 base::MessageLoop* message_loop_; |
188 | 195 |
189 scoped_ptr<FileSystemDispatcher> file_system_dispatcher_; | 196 scoped_ptr<FileSystemDispatcher> file_system_dispatcher_; |
190 | 197 |
191 scoped_ptr<QuotaDispatcher> quota_dispatcher_; | 198 scoped_ptr<QuotaDispatcher> quota_dispatcher_; |
192 | 199 |
(...skipping 10 matching lines...) Expand all Loading... |
203 scoped_ptr<base::debug::TraceMemoryController> trace_memory_controller_; | 210 scoped_ptr<base::debug::TraceMemoryController> trace_memory_controller_; |
204 | 211 |
205 scoped_ptr<base::PowerMonitor> power_monitor_; | 212 scoped_ptr<base::PowerMonitor> power_monitor_; |
206 | 213 |
207 DISALLOW_COPY_AND_ASSIGN(ChildThread); | 214 DISALLOW_COPY_AND_ASSIGN(ChildThread); |
208 }; | 215 }; |
209 | 216 |
210 } // namespace content | 217 } // namespace content |
211 | 218 |
212 #endif // CONTENT_CHILD_CHILD_THREAD_H_ | 219 #endif // CONTENT_CHILD_CHILD_THREAD_H_ |
OLD | NEW |