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_RENDER_PROCESS_HOST_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 namespace content { | 49 namespace content { |
50 class AudioInputRendererHost; | 50 class AudioInputRendererHost; |
51 class AudioRendererHost; | 51 class AudioRendererHost; |
52 class BrowserCdmManager; | 52 class BrowserCdmManager; |
53 class BrowserDemuxerAndroid; | 53 class BrowserDemuxerAndroid; |
54 class InProcessChildThreadParams; | 54 class InProcessChildThreadParams; |
55 class MessagePortMessageFilter; | 55 class MessagePortMessageFilter; |
56 class MojoChildConnection; | 56 class MojoChildConnection; |
57 class NotificationMessageFilter; | 57 class NotificationMessageFilter; |
| 58 class OwnedInterface; |
58 #if defined(ENABLE_WEBRTC) | 59 #if defined(ENABLE_WEBRTC) |
59 class P2PSocketDispatcherHost; | 60 class P2PSocketDispatcherHost; |
60 #endif | 61 #endif |
61 class PermissionServiceContext; | 62 class PermissionServiceContext; |
62 class PeerConnectionTrackerHost; | 63 class PeerConnectionTrackerHost; |
63 class RendererMainThread; | 64 class RendererMainThread; |
64 class RenderWidgetHelper; | 65 class RenderWidgetHelper; |
65 class RenderWidgetHost; | 66 class RenderWidgetHost; |
66 class RenderWidgetHostImpl; | 67 class RenderWidgetHostImpl; |
67 class RenderWidgetHostViewFrameSubscriber; | 68 class RenderWidgetHostViewFrameSubscriber; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 bool HasConnection() const override; | 130 bool HasConnection() const override; |
130 void SetIgnoreInputEvents(bool ignore_input_events) override; | 131 void SetIgnoreInputEvents(bool ignore_input_events) override; |
131 bool IgnoreInputEvents() const override; | 132 bool IgnoreInputEvents() const override; |
132 void Cleanup() override; | 133 void Cleanup() override; |
133 void AddPendingView() override; | 134 void AddPendingView() override; |
134 void RemovePendingView() override; | 135 void RemovePendingView() override; |
135 void SetSuddenTerminationAllowed(bool enabled) override; | 136 void SetSuddenTerminationAllowed(bool enabled) override; |
136 bool SuddenTerminationAllowed() const override; | 137 bool SuddenTerminationAllowed() const override; |
137 IPC::ChannelProxy* GetChannel() override; | 138 IPC::ChannelProxy* GetChannel() override; |
138 void AddFilter(BrowserMessageFilter* filter) override; | 139 void AddFilter(BrowserMessageFilter* filter) override; |
| 140 void AddOwnedInterface(std::unique_ptr<OwnedInterface> impl) override; |
139 bool FastShutdownForPageCount(size_t count) override; | 141 bool FastShutdownForPageCount(size_t count) override; |
140 bool FastShutdownStarted() const override; | 142 bool FastShutdownStarted() const override; |
141 base::TimeDelta GetChildProcessIdleTime() const override; | 143 base::TimeDelta GetChildProcessIdleTime() const override; |
142 void FilterURL(bool empty_allowed, GURL* url) override; | 144 void FilterURL(bool empty_allowed, GURL* url) override; |
143 #if defined(ENABLE_WEBRTC) | 145 #if defined(ENABLE_WEBRTC) |
144 void EnableAudioDebugRecordings(const base::FilePath& file) override; | 146 void EnableAudioDebugRecordings(const base::FilePath& file) override; |
145 void DisableAudioDebugRecordings() override; | 147 void DisableAudioDebugRecordings() override; |
146 bool StartWebRTCEventLog(const base::FilePath& file_path) override; | 148 bool StartWebRTCEventLog(const base::FilePath& file_path) override; |
147 bool StopWebRTCEventLog() override; | 149 bool StopWebRTCEventLog() override; |
148 void SetWebRtcLogMessageCallback( | 150 void SetWebRtcLogMessageCallback( |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 base::FilePath GetAecDumpFilePathWithExtensions(const base::FilePath& file); | 357 base::FilePath GetAecDumpFilePathWithExtensions(const base::FilePath& file); |
356 #endif | 358 #endif |
357 | 359 |
358 static void OnMojoError( | 360 static void OnMojoError( |
359 base::WeakPtr<RenderProcessHostImpl> process, | 361 base::WeakPtr<RenderProcessHostImpl> process, |
360 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 362 scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
361 const std::string& error); | 363 const std::string& error); |
362 | 364 |
363 std::string child_token_; | 365 std::string child_token_; |
364 | 366 |
| 367 // Services owned by this host for the purpose of service impl lifetime |
| 368 // management. These need to outlive |mojo_child_connection_|, as they are |
| 369 // registered on the |InterfaceRegistry| indirectly owned by that object. |
| 370 std::vector<std::unique_ptr<OwnedInterface>> owned_interface_impls_; |
| 371 |
365 std::unique_ptr<MojoChildConnection> mojo_child_connection_; | 372 std::unique_ptr<MojoChildConnection> mojo_child_connection_; |
366 shell::mojom::ServicePtr test_service_; | 373 shell::mojom::ServicePtr test_service_; |
367 | 374 |
368 // The registered IPC listener objects. When this list is empty, we should | 375 // The registered IPC listener objects. When this list is empty, we should |
369 // delete ourselves. | 376 // delete ourselves. |
370 IDMap<IPC::Listener> listeners_; | 377 IDMap<IPC::Listener> listeners_; |
371 | 378 |
372 // The count of currently visible widgets. Since the host can be a container | 379 // The count of currently visible widgets. Since the host can be a container |
373 // for multiple widgets, it uses this count to determine when it should be | 380 // for multiple widgets, it uses this count to determine when it should be |
374 // backgrounded. | 381 // backgrounded. |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 mojo::ScopedMessagePipeHandle in_process_renderer_handle_; | 523 mojo::ScopedMessagePipeHandle in_process_renderer_handle_; |
517 | 524 |
518 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 525 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
519 | 526 |
520 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 527 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
521 }; | 528 }; |
522 | 529 |
523 } // namespace content | 530 } // namespace content |
524 | 531 |
525 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 532 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
OLD | NEW |