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 13 matching lines...) Expand all Loading... |
24 #include "content/browser/dom_storage/session_storage_namespace_impl.h" | 24 #include "content/browser/dom_storage/session_storage_namespace_impl.h" |
25 #include "content/browser/power_monitor_message_broadcaster.h" | 25 #include "content/browser/power_monitor_message_broadcaster.h" |
26 #include "content/browser/webrtc/webrtc_eventlog_host.h" | 26 #include "content/browser/webrtc/webrtc_eventlog_host.h" |
27 #include "content/common/content_export.h" | 27 #include "content/common/content_export.h" |
28 #include "content/public/browser/render_process_host.h" | 28 #include "content/public/browser/render_process_host.h" |
29 #include "content/public/common/mojo_shell_connection.h" | 29 #include "content/public/common/mojo_shell_connection.h" |
30 #include "ipc/ipc_channel_proxy.h" | 30 #include "ipc/ipc_channel_proxy.h" |
31 #include "ipc/ipc_platform_file.h" | 31 #include "ipc/ipc_platform_file.h" |
32 #include "mojo/public/cpp/bindings/interface_ptr.h" | 32 #include "mojo/public/cpp/bindings/interface_ptr.h" |
33 #include "services/shell/public/interfaces/service.mojom.h" | 33 #include "services/shell/public/interfaces/service.mojom.h" |
| 34 // TODO(cmumford): Any way to use from //content of WebKit/public? |
| 35 #include "third_party/WebKit/Source/modules/indexeddb/indexed_db.mojom.h" |
34 #include "ui/gfx/gpu_memory_buffer.h" | 36 #include "ui/gfx/gpu_memory_buffer.h" |
35 #include "ui/gl/gpu_switching_observer.h" | 37 #include "ui/gl/gpu_switching_observer.h" |
36 | 38 |
37 #if defined(OS_ANDROID) | 39 #if defined(OS_ANDROID) |
38 #include "content/public/browser/android/interface_registry_android.h" | 40 #include "content/public/browser/android/interface_registry_android.h" |
39 #endif | 41 #endif |
40 | 42 |
41 namespace base { | 43 namespace base { |
42 class CommandLine; | 44 class CommandLine; |
43 class MessageLoop; | 45 class MessageLoop; |
44 } | 46 } |
45 | 47 |
46 namespace gfx { | 48 namespace gfx { |
47 class Size; | 49 class Size; |
48 } | 50 } |
49 | 51 |
50 namespace IPC { | 52 namespace IPC { |
51 class ChannelMojoHost; | 53 class ChannelMojoHost; |
52 } | 54 } |
53 | 55 |
54 namespace content { | 56 namespace content { |
55 class AudioInputRendererHost; | 57 class AudioInputRendererHost; |
56 class AudioRendererHost; | 58 class AudioRendererHost; |
57 class BrowserCdmManager; | 59 class BrowserCdmManager; |
58 class BrowserDemuxerAndroid; | 60 class BrowserDemuxerAndroid; |
| 61 class DatabaseFactoryImpl; |
59 class InProcessChildThreadParams; | 62 class InProcessChildThreadParams; |
60 class MessagePortMessageFilter; | 63 class MessagePortMessageFilter; |
61 class MojoChildConnection; | 64 class MojoChildConnection; |
62 class NotificationMessageFilter; | 65 class NotificationMessageFilter; |
63 #if defined(ENABLE_WEBRTC) | 66 #if defined(ENABLE_WEBRTC) |
64 class P2PSocketDispatcherHost; | 67 class P2PSocketDispatcherHost; |
65 #endif | 68 #endif |
66 class PermissionServiceContext; | 69 class PermissionServiceContext; |
67 class PeerConnectionTrackerHost; | 70 class PeerConnectionTrackerHost; |
68 class RendererMainThread; | 71 class RendererMainThread; |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 | 314 |
312 std::unique_ptr<IPC::ChannelProxy> CreateChannelProxy( | 315 std::unique_ptr<IPC::ChannelProxy> CreateChannelProxy( |
313 const std::string& channel_id); | 316 const std::string& channel_id); |
314 | 317 |
315 // Creates and adds the IO thread message filters. | 318 // Creates and adds the IO thread message filters. |
316 void CreateMessageFilters(); | 319 void CreateMessageFilters(); |
317 | 320 |
318 // Registers Mojo interfaces to be exposed to the renderer. | 321 // Registers Mojo interfaces to be exposed to the renderer. |
319 void RegisterMojoInterfaces(); | 322 void RegisterMojoInterfaces(); |
320 | 323 |
| 324 void CreateIndexedDBFactoryService( |
| 325 mojo::InterfaceRequest<::indexed_db::mojom::DatabaseFactory> request); |
321 void CreateStoragePartitionService( | 326 void CreateStoragePartitionService( |
322 mojo::InterfaceRequest<mojom::StoragePartitionService> request); | 327 mojo::InterfaceRequest<mojom::StoragePartitionService> request); |
323 | 328 |
324 // Control message handlers. | 329 // Control message handlers. |
325 void OnShutdownRequest(); | 330 void OnShutdownRequest(); |
326 void SuddenTerminationChanged(bool enabled); | 331 void SuddenTerminationChanged(bool enabled); |
327 void OnUserMetricsRecordAction(const std::string& action); | 332 void OnUserMetricsRecordAction(const std::string& action); |
328 void OnCloseACK(int old_route_id); | 333 void OnCloseACK(int old_route_id); |
329 | 334 |
330 // Generates a command line to be used to spawn a renderer and appends the | 335 // Generates a command line to be used to spawn a renderer and appends the |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 | 438 |
434 // A secondary ID used by the Mojo shell to distinguish different incarnations | 439 // A secondary ID used by the Mojo shell to distinguish different incarnations |
435 // of the same RPH from each other. Unlike |id_| this is not globally unique, | 440 // of the same RPH from each other. Unlike |id_| this is not globally unique, |
436 // but it is guaranteed to change every time Init() is called. | 441 // but it is guaranteed to change every time Init() is called. |
437 int instance_id_ = 1; | 442 int instance_id_ = 1; |
438 | 443 |
439 BrowserContext* browser_context_; | 444 BrowserContext* browser_context_; |
440 | 445 |
441 // Owned by |browser_context_|. | 446 // Owned by |browser_context_|. |
442 StoragePartitionImpl* storage_partition_impl_; | 447 StoragePartitionImpl* storage_partition_impl_; |
| 448 DatabaseFactoryImpl* database_factory_impl_; |
443 | 449 |
444 // The observers watching our lifetime. | 450 // The observers watching our lifetime. |
445 base::ObserverList<RenderProcessHostObserver> observers_; | 451 base::ObserverList<RenderProcessHostObserver> observers_; |
446 | 452 |
447 // True if the process can be shut down suddenly. If this is true, then we're | 453 // True if the process can be shut down suddenly. If this is true, then we're |
448 // sure that all the RenderViews in the process can be shutdown suddenly. If | 454 // sure that all the RenderViews in the process can be shutdown suddenly. If |
449 // it's false, then specific RenderViews might still be allowed to be shutdown | 455 // it's false, then specific RenderViews might still be allowed to be shutdown |
450 // suddenly by checking their SuddenTerminationAllowed() flag. This can occur | 456 // suddenly by checking their SuddenTerminationAllowed() flag. This can occur |
451 // if one WebContents has an unload event listener but another WebContents in | 457 // if one WebContents has an unload event listener but another WebContents in |
452 // the same process doesn't. | 458 // the same process doesn't. |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 scoped_refptr<ResourceMessageFilter> resource_message_filter_; | 540 scoped_refptr<ResourceMessageFilter> resource_message_filter_; |
535 | 541 |
536 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 542 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
537 | 543 |
538 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 544 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
539 }; | 545 }; |
540 | 546 |
541 } // namespace content | 547 } // namespace content |
542 | 548 |
543 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 549 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
OLD | NEW |