| 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_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
| 6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| 11 #include <list> | 11 #include <list> |
| 12 | 12 |
| 13 #include "base/id_map.h" | 13 #include "base/id_map.h" |
| 14 #include "base/memory/ptr_util.h" | 14 #include "base/memory/ptr_util.h" |
| 15 #include "base/process/kill.h" | 15 #include "base/process/kill.h" |
| 16 #include "base/process/process_handle.h" | 16 #include "base/process/process_handle.h" |
| 17 #include "base/supports_user_data.h" | 17 #include "base/supports_user_data.h" |
| 18 #include "content/common/content_export.h" | 18 #include "content/common/content_export.h" |
| 19 #include "content/public/common/bind_interface_helpers.h" |
| 19 #include "ipc/ipc_channel_proxy.h" | 20 #include "ipc/ipc_channel_proxy.h" |
| 20 #include "ipc/ipc_sender.h" | 21 #include "ipc/ipc_sender.h" |
| 21 #include "media/media_features.h" | 22 #include "media/media_features.h" |
| 22 #include "ui/gfx/native_widget_types.h" | 23 #include "ui/gfx/native_widget_types.h" |
| 23 | 24 |
| 24 class GURL; | 25 class GURL; |
| 25 | 26 |
| 26 namespace base { | 27 namespace base { |
| 27 class SharedPersistentMemoryAllocator; | 28 class SharedPersistentMemoryAllocator; |
| 28 class TimeDelta; | 29 class TimeDelta; |
| 29 } | 30 } |
| 30 | 31 |
| 31 namespace media { | 32 namespace media { |
| 32 class AudioOutputController; | 33 class AudioOutputController; |
| 33 } | 34 } |
| 34 | 35 |
| 35 namespace service_manager { | |
| 36 class InterfaceProvider; | |
| 37 } | |
| 38 | |
| 39 namespace content { | 36 namespace content { |
| 40 class BrowserContext; | 37 class BrowserContext; |
| 41 class BrowserMessageFilter; | 38 class BrowserMessageFilter; |
| 42 class RenderProcessHostObserver; | 39 class RenderProcessHostObserver; |
| 43 class RenderWidgetHost; | 40 class RenderWidgetHost; |
| 44 class StoragePartition; | 41 class StoragePartition; |
| 45 struct GlobalRequestID; | 42 struct GlobalRequestID; |
| 46 | 43 |
| 47 namespace mojom { | 44 namespace mojom { |
| 48 class Renderer; | 45 class Renderer; |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 virtual WebRtcStopRtpDumpCallback StartRtpDump( | 266 virtual WebRtcStopRtpDumpCallback StartRtpDump( |
| 270 bool incoming, | 267 bool incoming, |
| 271 bool outgoing, | 268 bool outgoing, |
| 272 const WebRtcRtpPacketCallback& packet_callback) = 0; | 269 const WebRtcRtpPacketCallback& packet_callback) = 0; |
| 273 #endif | 270 #endif |
| 274 | 271 |
| 275 // Tells the ResourceDispatcherHost to resume a deferred navigation without | 272 // Tells the ResourceDispatcherHost to resume a deferred navigation without |
| 276 // transferring it to a new renderer process. | 273 // transferring it to a new renderer process. |
| 277 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; | 274 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0; |
| 278 | 275 |
| 279 // Returns the service_manager::InterfaceProvider the browser process can use | 276 // Binds interfaces exposed to the browser process from the renderer. |
| 280 // to bind | 277 virtual void BindInterface(const std::string& interface_name, |
| 281 // interfaces exposed to it from the renderer. | 278 mojo::ScopedMessagePipeHandle interface_pipe) = 0; |
| 282 virtual service_manager::InterfaceProvider* GetRemoteInterfaces() = 0; | |
| 283 | 279 |
| 284 // Extracts any persistent-memory-allocator used for renderer metrics. | 280 // Extracts any persistent-memory-allocator used for renderer metrics. |
| 285 // Ownership is passed to the caller. To support sharing of histogram data | 281 // Ownership is passed to the caller. To support sharing of histogram data |
| 286 // between the Renderer and the Browser, the allocator is created when the | 282 // between the Renderer and the Browser, the allocator is created when the |
| 287 // process is created and later retrieved by the SubprocessMetricsProvider | 283 // process is created and later retrieved by the SubprocessMetricsProvider |
| 288 // for management. | 284 // for management. |
| 289 virtual std::unique_ptr<base::SharedPersistentMemoryAllocator> | 285 virtual std::unique_ptr<base::SharedPersistentMemoryAllocator> |
| 290 TakeMetricsAllocator() = 0; | 286 TakeMetricsAllocator() = 0; |
| 291 | 287 |
| 292 // PlzNavigate | 288 // PlzNavigate |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 static void SetMaxRendererProcessCount(size_t count); | 409 static void SetMaxRendererProcessCount(size_t count); |
| 414 | 410 |
| 415 // Returns the current maximum number of renderer process hosts kept by the | 411 // Returns the current maximum number of renderer process hosts kept by the |
| 416 // content module. | 412 // content module. |
| 417 static size_t GetMaxRendererProcessCount(); | 413 static size_t GetMaxRendererProcessCount(); |
| 418 }; | 414 }; |
| 419 | 415 |
| 420 } // namespace content. | 416 } // namespace content. |
| 421 | 417 |
| 422 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ | 418 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ |
| OLD | NEW |