| 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 |
| 11 #include <map> | 11 #include <map> |
| 12 #include <memory> | 12 #include <memory> |
| 13 #include <queue> | 13 #include <queue> |
| 14 #include <string> | 14 #include <string> |
| 15 | 15 |
| 16 #include "base/macros.h" | 16 #include "base/macros.h" |
| 17 #include "base/memory/ref_counted.h" | 17 #include "base/memory/ref_counted.h" |
| 18 #include "base/observer_list.h" | 18 #include "base/observer_list.h" |
| 19 #include "base/process/process.h" | 19 #include "base/process/process.h" |
| 20 #include "base/single_thread_task_runner.h" | 20 #include "base/single_thread_task_runner.h" |
| 21 #include "base/synchronization/waitable_event.h" | 21 #include "base/synchronization/waitable_event.h" |
| 22 #include "build/build_config.h" | 22 #include "build/build_config.h" |
| 23 #include "content/browser/android/synchronous_compositor_observer.h" |
| 23 #include "content/browser/child_process_launcher.h" | 24 #include "content/browser/child_process_launcher.h" |
| 24 #include "content/browser/dom_storage/session_storage_namespace_impl.h" | 25 #include "content/browser/dom_storage/session_storage_namespace_impl.h" |
| 25 #include "content/browser/power_monitor_message_broadcaster.h" | 26 #include "content/browser/power_monitor_message_broadcaster.h" |
| 26 #include "content/browser/webrtc/webrtc_eventlog_host.h" | 27 #include "content/browser/webrtc/webrtc_eventlog_host.h" |
| 27 #include "content/common/associated_interfaces.mojom.h" | 28 #include "content/common/associated_interfaces.mojom.h" |
| 28 #include "content/common/content_export.h" | 29 #include "content/common/content_export.h" |
| 29 #include "content/common/renderer.mojom.h" | 30 #include "content/common/renderer.mojom.h" |
| 30 #include "content/public/browser/render_process_host.h" | 31 #include "content/public/browser/render_process_host.h" |
| 31 #include "content/public/common/mojo_shell_connection.h" | 32 #include "content/public/common/mojo_shell_connection.h" |
| 32 #include "ipc/ipc_channel_proxy.h" | 33 #include "ipc/ipc_channel_proxy.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 public ChildProcessLauncher::Client, | 107 public ChildProcessLauncher::Client, |
| 107 public ui::GpuSwitchingObserver, | 108 public ui::GpuSwitchingObserver, |
| 108 public NON_EXPORTED_BASE(mojom::RouteProvider), | 109 public NON_EXPORTED_BASE(mojom::RouteProvider), |
| 109 public NON_EXPORTED_BASE(mojom::AssociatedInterfaceProvider) { | 110 public NON_EXPORTED_BASE(mojom::AssociatedInterfaceProvider) { |
| 110 public: | 111 public: |
| 111 RenderProcessHostImpl(BrowserContext* browser_context, | 112 RenderProcessHostImpl(BrowserContext* browser_context, |
| 112 StoragePartitionImpl* storage_partition_impl, | 113 StoragePartitionImpl* storage_partition_impl, |
| 113 bool is_for_guests_only); | 114 bool is_for_guests_only); |
| 114 ~RenderProcessHostImpl() override; | 115 ~RenderProcessHostImpl() override; |
| 115 | 116 |
| 117 SynchronousCompositorObserver* GetFilter() override; |
| 118 |
| 116 // RenderProcessHost implementation (public portion). | 119 // RenderProcessHost implementation (public portion). |
| 117 void EnableSendQueue() override; | 120 void EnableSendQueue() override; |
| 118 bool Init() override; | 121 bool Init() override; |
| 119 int GetNextRoutingID() override; | 122 int GetNextRoutingID() override; |
| 120 void AddRoute(int32_t routing_id, IPC::Listener* listener) override; | 123 void AddRoute(int32_t routing_id, IPC::Listener* listener) override; |
| 121 void RemoveRoute(int32_t routing_id) override; | 124 void RemoveRoute(int32_t routing_id) override; |
| 122 void AddObserver(RenderProcessHostObserver* observer) override; | 125 void AddObserver(RenderProcessHostObserver* observer) override; |
| 123 void RemoveObserver(RenderProcessHostObserver* observer) override; | 126 void RemoveObserver(RenderProcessHostObserver* observer) override; |
| 124 void ShutdownForBadMessage() override; | 127 void ShutdownForBadMessage() override; |
| 125 void WidgetRestored() override; | 128 void WidgetRestored() override; |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 // Whether this process currently has backgrounded priority. Tracked so that | 452 // Whether this process currently has backgrounded priority. Tracked so that |
| 450 // UpdateProcessPriority() can avoid redundantly setting the priority. | 453 // UpdateProcessPriority() can avoid redundantly setting the priority. |
| 451 bool is_process_backgrounded_; | 454 bool is_process_backgrounded_; |
| 452 | 455 |
| 453 // Used to allow a RenderWidgetHost to intercept various messages on the | 456 // Used to allow a RenderWidgetHost to intercept various messages on the |
| 454 // IO thread. | 457 // IO thread. |
| 455 scoped_refptr<RenderWidgetHelper> widget_helper_; | 458 scoped_refptr<RenderWidgetHelper> widget_helper_; |
| 456 | 459 |
| 457 scoped_refptr<RenderFrameMessageFilter> render_frame_message_filter_; | 460 scoped_refptr<RenderFrameMessageFilter> render_frame_message_filter_; |
| 458 | 461 |
| 462 SynchronousCompositorObserver* filter_; |
| 463 |
| 459 // The filter for MessagePort messages coming from the renderer. | 464 // The filter for MessagePort messages coming from the renderer. |
| 460 scoped_refptr<MessagePortMessageFilter> message_port_message_filter_; | 465 scoped_refptr<MessagePortMessageFilter> message_port_message_filter_; |
| 461 | 466 |
| 462 // The filter for Web Notification messages coming from the renderer. Holds a | 467 // The filter for Web Notification messages coming from the renderer. Holds a |
| 463 // closure per notification that must be freed when the notification closes. | 468 // closure per notification that must be freed when the notification closes. |
| 464 scoped_refptr<NotificationMessageFilter> notification_message_filter_; | 469 scoped_refptr<NotificationMessageFilter> notification_message_filter_; |
| 465 | 470 |
| 466 // Used in single-process mode. | 471 // Used in single-process mode. |
| 467 std::unique_ptr<base::Thread> in_process_renderer_; | 472 std::unique_ptr<base::Thread> in_process_renderer_; |
| 468 | 473 |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 instance_weak_factory_; | 594 instance_weak_factory_; |
| 590 | 595 |
| 591 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 596 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
| 592 | 597 |
| 593 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 598 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
| 594 }; | 599 }; |
| 595 | 600 |
| 596 } // namespace content | 601 } // namespace content |
| 597 | 602 |
| 598 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 603 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
| OLD | NEW |