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_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 #include <string> | 10 #include <string> |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 class PeerConnectionTrackerHost; | 43 class PeerConnectionTrackerHost; |
44 class RendererMainThread; | 44 class RendererMainThread; |
45 class RenderWidgetHelper; | 45 class RenderWidgetHelper; |
46 class RenderWidgetHost; | 46 class RenderWidgetHost; |
47 class RenderWidgetHostImpl; | 47 class RenderWidgetHostImpl; |
48 class RenderWidgetHostViewFrameSubscriber; | 48 class RenderWidgetHostViewFrameSubscriber; |
49 class ScreenOrientationDispatcherHost; | 49 class ScreenOrientationDispatcherHost; |
50 class StoragePartition; | 50 class StoragePartition; |
51 class StoragePartitionImpl; | 51 class StoragePartitionImpl; |
52 | 52 |
| 53 #if defined(USE_MOJO) |
| 54 class MojoChannelInit; |
| 55 #endif |
| 56 |
53 // Implements a concrete RenderProcessHost for the browser process for talking | 57 // Implements a concrete RenderProcessHost for the browser process for talking |
54 // to actual renderer processes (as opposed to mocks). | 58 // to actual renderer processes (as opposed to mocks). |
55 // | 59 // |
56 // Represents the browser side of the browser <--> renderer communication | 60 // Represents the browser side of the browser <--> renderer communication |
57 // channel. There will be one RenderProcessHost per renderer process. | 61 // channel. There will be one RenderProcessHost per renderer process. |
58 // | 62 // |
59 // This object is refcounted so that it can release its resources when all | 63 // This object is refcounted so that it can release its resources when all |
60 // hosts using it go away. | 64 // hosts using it go away. |
61 // | 65 // |
62 // This object communicates back and forth with the RenderProcess object | 66 // This object communicates back and forth with the RenderProcess object |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 void ProcessDied(bool already_dead); | 293 void ProcessDied(bool already_dead); |
290 | 294 |
291 virtual void OnGpuSwitching() OVERRIDE; | 295 virtual void OnGpuSwitching() OVERRIDE; |
292 | 296 |
293 #if defined(ENABLE_WEBRTC) | 297 #if defined(ENABLE_WEBRTC) |
294 // Sends |file_for_transit| to the render process. | 298 // Sends |file_for_transit| to the render process. |
295 void SendAecDumpFileToRenderer(IPC::PlatformFileForTransit file_for_transit); | 299 void SendAecDumpFileToRenderer(IPC::PlatformFileForTransit file_for_transit); |
296 void SendDisableAecDumpToRenderer(); | 300 void SendDisableAecDumpToRenderer(); |
297 #endif | 301 #endif |
298 | 302 |
| 303 #if defined(USE_MOJO) |
| 304 // Establishes the mojo channel to the renderer. |
| 305 void CreateMojoChannel(); |
| 306 #endif |
| 307 |
299 // The registered IPC listener objects. When this list is empty, we should | 308 // The registered IPC listener objects. When this list is empty, we should |
300 // delete ourselves. | 309 // delete ourselves. |
301 IDMap<IPC::Listener> listeners_; | 310 IDMap<IPC::Listener> listeners_; |
302 | 311 |
303 // The count of currently visible widgets. Since the host can be a container | 312 // The count of currently visible widgets. Since the host can be a container |
304 // for multiple widgets, it uses this count to determine when it should be | 313 // for multiple widgets, it uses this count to determine when it should be |
305 // backgrounded. | 314 // backgrounded. |
306 int32 visible_widgets_; | 315 int32 visible_widgets_; |
307 | 316 |
308 // Does this process have backgrounded priority. | 317 // Does this process have backgrounded priority. |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 scoped_refptr<BrowserDemuxerAndroid> browser_demuxer_android_; | 419 scoped_refptr<BrowserDemuxerAndroid> browser_demuxer_android_; |
411 #endif | 420 #endif |
412 | 421 |
413 // Message filter for geolocation messages. | 422 // Message filter for geolocation messages. |
414 GeolocationDispatcherHost* geolocation_dispatcher_host_; | 423 GeolocationDispatcherHost* geolocation_dispatcher_host_; |
415 | 424 |
416 #if defined(ENABLE_WEBRTC) | 425 #if defined(ENABLE_WEBRTC) |
417 base::Callback<void(const std::string&)> webrtc_log_message_callback_; | 426 base::Callback<void(const std::string&)> webrtc_log_message_callback_; |
418 #endif | 427 #endif |
419 | 428 |
420 // Lives on the browser's ChildThread. | |
421 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | |
422 | |
423 // Message filter and dispatcher for screen orientation. | 429 // Message filter and dispatcher for screen orientation. |
424 ScreenOrientationDispatcherHost* screen_orientation_dispatcher_host_; | 430 ScreenOrientationDispatcherHost* screen_orientation_dispatcher_host_; |
425 | 431 |
426 int worker_ref_count_; | 432 int worker_ref_count_; |
427 | 433 |
| 434 #if defined(USE_MOJO) |
| 435 scoped_ptr<MojoChannelInit> mojo_channel_init_; |
| 436 #endif |
| 437 |
| 438 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
| 439 |
428 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 440 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
429 }; | 441 }; |
430 | 442 |
431 } // namespace content | 443 } // namespace content |
432 | 444 |
433 #endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ | 445 #endif // CONTENT_BROWSER_RENDERER_HOST_BROWSER_RENDER_PROCESS_HOST_IMPL_H_ |
OLD | NEW |