| 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 18 matching lines...) Expand all Loading... |
| 29 #include "content/public/browser/render_process_host.h" | 29 #include "content/public/browser/render_process_host.h" |
| 30 #include "content/public/common/service_manager_connection.h" | 30 #include "content/public/common/service_manager_connection.h" |
| 31 #include "ipc/ipc_channel_proxy.h" | 31 #include "ipc/ipc_channel_proxy.h" |
| 32 #include "ipc/ipc_platform_file.h" | 32 #include "ipc/ipc_platform_file.h" |
| 33 #include "media/media_features.h" | 33 #include "media/media_features.h" |
| 34 #include "mojo/public/cpp/bindings/associated_binding.h" | 34 #include "mojo/public/cpp/bindings/associated_binding.h" |
| 35 #include "mojo/public/cpp/bindings/associated_binding_set.h" | 35 #include "mojo/public/cpp/bindings/associated_binding_set.h" |
| 36 #include "mojo/public/cpp/bindings/interface_ptr.h" | 36 #include "mojo/public/cpp/bindings/interface_ptr.h" |
| 37 #include "services/service_manager/public/cpp/interface_registry.h" | 37 #include "services/service_manager/public/cpp/interface_registry.h" |
| 38 #include "services/service_manager/public/interfaces/service.mojom.h" | 38 #include "services/service_manager/public/interfaces/service.mojom.h" |
| 39 #include "services/ui/public/interfaces/gpu.mojom.h" |
| 39 #include "ui/gfx/gpu_memory_buffer.h" | 40 #include "ui/gfx/gpu_memory_buffer.h" |
| 40 #include "ui/gl/gpu_switching_observer.h" | 41 #include "ui/gl/gpu_switching_observer.h" |
| 41 | 42 |
| 42 #if defined(OS_ANDROID) | 43 #if defined(OS_ANDROID) |
| 43 #include "content/browser/android/synchronous_compositor_browser_filter.h" | 44 #include "content/browser/android/synchronous_compositor_browser_filter.h" |
| 44 #endif | 45 #endif |
| 45 | 46 |
| 46 namespace base { | 47 namespace base { |
| 47 class CommandLine; | 48 class CommandLine; |
| 48 class MessageLoop; | 49 class MessageLoop; |
| 49 class SharedPersistentMemoryAllocator; | 50 class SharedPersistentMemoryAllocator; |
| 50 } | 51 } |
| 51 | 52 |
| 52 namespace content { | 53 namespace content { |
| 53 class AudioInputRendererHost; | 54 class AudioInputRendererHost; |
| 54 class AudioRendererHost; | 55 class AudioRendererHost; |
| 55 class ChildConnection; | 56 class ChildConnection; |
| 57 class GpuClient; |
| 56 class InProcessChildThreadParams; | 58 class InProcessChildThreadParams; |
| 57 class MessagePortMessageFilter; | 59 class MessagePortMessageFilter; |
| 58 class NotificationMessageFilter; | 60 class NotificationMessageFilter; |
| 59 #if BUILDFLAG(ENABLE_WEBRTC) | 61 #if BUILDFLAG(ENABLE_WEBRTC) |
| 60 class P2PSocketDispatcherHost; | 62 class P2PSocketDispatcherHost; |
| 61 #endif | 63 #endif |
| 62 class PermissionServiceContext; | 64 class PermissionServiceContext; |
| 63 class PeerConnectionTrackerHost; | 65 class PeerConnectionTrackerHost; |
| 64 class RenderFrameMessageFilter; | 66 class RenderFrameMessageFilter; |
| 65 class RenderWidgetHelper; | 67 class RenderWidgetHelper; |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 // mojom::RouteProvider: | 325 // mojom::RouteProvider: |
| 324 void GetRoute( | 326 void GetRoute( |
| 325 int32_t routing_id, | 327 int32_t routing_id, |
| 326 mojom::AssociatedInterfaceProviderAssociatedRequest request) override; | 328 mojom::AssociatedInterfaceProviderAssociatedRequest request) override; |
| 327 | 329 |
| 328 // mojom::AssociatedInterfaceProvider: | 330 // mojom::AssociatedInterfaceProvider: |
| 329 void GetAssociatedInterface( | 331 void GetAssociatedInterface( |
| 330 const std::string& name, | 332 const std::string& name, |
| 331 mojom::AssociatedInterfaceAssociatedRequest request) override; | 333 mojom::AssociatedInterfaceAssociatedRequest request) override; |
| 332 | 334 |
| 335 void CreateMusGpuRequest(ui::mojom::GpuRequest request); |
| 333 void CreateStoragePartitionService( | 336 void CreateStoragePartitionService( |
| 334 mojo::InterfaceRequest<mojom::StoragePartitionService> request); | 337 mojo::InterfaceRequest<mojom::StoragePartitionService> request); |
| 335 | 338 |
| 336 // Control message handlers. | 339 // Control message handlers. |
| 337 void OnShutdownRequest(); | 340 void OnShutdownRequest(); |
| 338 void SuddenTerminationChanged(bool enabled); | 341 void SuddenTerminationChanged(bool enabled); |
| 339 void OnUserMetricsRecordAction(const std::string& action); | 342 void OnUserMetricsRecordAction(const std::string& action); |
| 340 void OnCloseACK(int old_route_id); | 343 void OnCloseACK(int old_route_id); |
| 341 | 344 |
| 342 // Generates a command line to be used to spawn a renderer and appends the | 345 // Generates a command line to be used to spawn a renderer and appends the |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 570 #if defined(OS_ANDROID) | 573 #if defined(OS_ANDROID) |
| 571 // UI thread is the source of sync IPCs and all shutdown signals. | 574 // UI thread is the source of sync IPCs and all shutdown signals. |
| 572 // Therefore a proper shutdown event to unblock the UI thread is not | 575 // Therefore a proper shutdown event to unblock the UI thread is not |
| 573 // possible without massive refactoring shutdown code. | 576 // possible without massive refactoring shutdown code. |
| 574 // Luckily Android never performs a clean shutdown. So explicitly | 577 // Luckily Android never performs a clean shutdown. So explicitly |
| 575 // ignore this problem. | 578 // ignore this problem. |
| 576 base::WaitableEvent never_signaled_; | 579 base::WaitableEvent never_signaled_; |
| 577 #endif | 580 #endif |
| 578 | 581 |
| 579 scoped_refptr<ResourceMessageFilter> resource_message_filter_; | 582 scoped_refptr<ResourceMessageFilter> resource_message_filter_; |
| 583 std::unique_ptr<GpuClient, BrowserThread::DeleteOnIOThread> gpu_client_; |
| 580 | 584 |
| 581 mojom::RouteProviderAssociatedPtr remote_route_provider_; | 585 mojom::RouteProviderAssociatedPtr remote_route_provider_; |
| 582 mojom::RendererAssociatedPtr renderer_interface_; | 586 mojom::RendererAssociatedPtr renderer_interface_; |
| 583 | 587 |
| 584 // A WeakPtrFactory which is reset every time Cleanup() runs. Used to vend | 588 // A WeakPtrFactory which is reset every time Cleanup() runs. Used to vend |
| 585 // WeakPtrs which are invalidated any time the RPHI is recycled. | 589 // WeakPtrs which are invalidated any time the RPHI is recycled. |
| 586 std::unique_ptr<base::WeakPtrFactory<RenderProcessHostImpl>> | 590 std::unique_ptr<base::WeakPtrFactory<RenderProcessHostImpl>> |
| 587 instance_weak_factory_; | 591 instance_weak_factory_; |
| 588 | 592 |
| 589 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; | 593 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
| 590 | 594 |
| 591 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); | 595 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |
| 592 }; | 596 }; |
| 593 | 597 |
| 594 } // namespace content | 598 } // namespace content |
| 595 | 599 |
| 596 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ | 600 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ |
| OLD | NEW |