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_RENDERER_RENDER_THREAD_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 class InputHandlerManager; | 80 class InputHandlerManager; |
81 class MediaStreamCenter; | 81 class MediaStreamCenter; |
82 class MediaStreamDependencyFactory; | 82 class MediaStreamDependencyFactory; |
83 class P2PSocketDispatcher; | 83 class P2PSocketDispatcher; |
84 class PeerConnectionTracker; | 84 class PeerConnectionTracker; |
85 class RendererWebKitPlatformSupportImpl; | 85 class RendererWebKitPlatformSupportImpl; |
86 class RenderProcessObserver; | 86 class RenderProcessObserver; |
87 class VideoCaptureImplManager; | 87 class VideoCaptureImplManager; |
88 class WebDatabaseObserverImpl; | 88 class WebDatabaseObserverImpl; |
89 class WebGraphicsContext3DCommandBufferImpl; | 89 class WebGraphicsContext3DCommandBufferImpl; |
90 class WebRtcLoggingMessageFilter; | |
91 | 90 |
92 // The RenderThreadImpl class represents a background thread where RenderView | 91 // The RenderThreadImpl class represents a background thread where RenderView |
93 // instances live. The RenderThread supports an API that is used by its | 92 // instances live. The RenderThread supports an API that is used by its |
94 // consumer to talk indirectly to the RenderViews and supporting objects. | 93 // consumer to talk indirectly to the RenderViews and supporting objects. |
95 // Likewise, it provides an API for the RenderViews to talk back to the main | 94 // Likewise, it provides an API for the RenderViews to talk back to the main |
96 // process (i.e., their corresponding WebContentsImpl). | 95 // process (i.e., their corresponding WebContentsImpl). |
97 // | 96 // |
98 // Most of the communication occurs in the form of IPC messages. They are | 97 // Most of the communication occurs in the form of IPC messages. They are |
99 // routed to the RenderThread according to the routing IDs of the messages. | 98 // routed to the RenderThread according to the routing IDs of the messages. |
100 // The routing IDs correspond to RenderView instances. | 99 // The routing IDs correspond to RenderView instances. |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 | 241 |
243 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled. | 242 // Current P2PSocketDispatcher. Set to NULL if P2P API is disabled. |
244 P2PSocketDispatcher* p2p_socket_dispatcher() { | 243 P2PSocketDispatcher* p2p_socket_dispatcher() { |
245 return p2p_socket_dispatcher_.get(); | 244 return p2p_socket_dispatcher_.get(); |
246 } | 245 } |
247 | 246 |
248 VideoCaptureImplManager* video_capture_impl_manager() const { | 247 VideoCaptureImplManager* video_capture_impl_manager() const { |
249 return vc_manager_.get(); | 248 return vc_manager_.get(); |
250 } | 249 } |
251 | 250 |
252 const scoped_refptr<WebRtcLoggingMessageFilter>& | |
253 webrtc_logging_message_filter() const { | |
254 return webrtc_logging_message_filter_; | |
255 } | |
256 | |
257 // Get the GPU channel. Returns NULL if the channel is not established or | 251 // Get the GPU channel. Returns NULL if the channel is not established or |
258 // has been lost. | 252 // has been lost. |
259 GpuChannelHost* GetGpuChannel(); | 253 GpuChannelHost* GetGpuChannel(); |
260 | 254 |
261 // Returns a MessageLoopProxy instance corresponding to the message loop | 255 // Returns a MessageLoopProxy instance corresponding to the message loop |
262 // of the thread on which file operations should be run. Must be called | 256 // of the thread on which file operations should be run. Must be called |
263 // on the renderer's main thread. | 257 // on the renderer's main thread. |
264 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy(); | 258 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy(); |
265 | 259 |
266 // Returns a MessageLoopProxy instance corresponding to the message loop | 260 // Returns a MessageLoopProxy instance corresponding to the message loop |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 // This is used to communicate to the browser process the status | 385 // This is used to communicate to the browser process the status |
392 // of all the peer connections created in the renderer. | 386 // of all the peer connections created in the renderer. |
393 scoped_ptr<PeerConnectionTracker> peer_connection_tracker_; | 387 scoped_ptr<PeerConnectionTracker> peer_connection_tracker_; |
394 | 388 |
395 // Dispatches all P2P sockets. | 389 // Dispatches all P2P sockets. |
396 scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_; | 390 scoped_refptr<P2PSocketDispatcher> p2p_socket_dispatcher_; |
397 | 391 |
398 // Used on multiple threads. | 392 // Used on multiple threads. |
399 scoped_refptr<VideoCaptureImplManager> vc_manager_; | 393 scoped_refptr<VideoCaptureImplManager> vc_manager_; |
400 | 394 |
401 scoped_refptr<WebRtcLoggingMessageFilter> webrtc_logging_message_filter_; | |
402 | |
403 // Used on multiple script execution context threads. | 395 // Used on multiple script execution context threads. |
404 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_; | 396 scoped_ptr<WebDatabaseObserverImpl> web_database_observer_impl_; |
405 | 397 |
406 #if defined(OS_WIN) | 398 #if defined(OS_WIN) |
407 // Initialize COM when using plugins outside the sandbox. | 399 // Initialize COM when using plugins outside the sandbox. |
408 scoped_ptr<base::win::ScopedCOMInitializer> initialize_com_; | 400 scoped_ptr<base::win::ScopedCOMInitializer> initialize_com_; |
409 #endif | 401 #endif |
410 | 402 |
411 // The count of RenderWidgets running through this thread. | 403 // The count of RenderWidgets running through this thread. |
412 int widget_count_; | 404 int widget_count_; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_; | 456 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_; |
465 | 457 |
466 HistogramCustomizer histogram_customizer_; | 458 HistogramCustomizer histogram_customizer_; |
467 | 459 |
468 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); | 460 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); |
469 }; | 461 }; |
470 | 462 |
471 } // namespace content | 463 } // namespace content |
472 | 464 |
473 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ | 465 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ |
OLD | NEW |