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_CONTENT_BROWSER_CLIENT_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
6 #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 6 #define CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 | 59 |
60 namespace gpu { | 60 namespace gpu { |
61 class GpuChannelEstablishFactory; | 61 class GpuChannelEstablishFactory; |
62 } | 62 } |
63 | 63 |
64 namespace media { | 64 namespace media { |
65 class CdmFactory; | 65 class CdmFactory; |
66 } | 66 } |
67 | 67 |
68 namespace service_manager { | 68 namespace service_manager { |
| 69 class BinderRegistry; |
69 class InterfaceRegistry; | 70 class InterfaceRegistry; |
70 class Service; | 71 class Service; |
| 72 struct ServiceInfo; |
71 } | 73 } |
72 | 74 |
73 namespace net { | 75 namespace net { |
74 class CookieOptions; | 76 class CookieOptions; |
75 class NetLog; | 77 class NetLog; |
76 class SSLCertRequestInfo; | 78 class SSLCertRequestInfo; |
77 class SSLInfo; | 79 class SSLInfo; |
78 class URLRequest; | 80 class URLRequest; |
79 class URLRequestContext; | 81 class URLRequestContext; |
80 } | 82 } |
(...skipping 22 matching lines...) Expand all Loading... |
103 | 105 |
104 enum class PermissionType; | 106 enum class PermissionType; |
105 class BrowserChildProcessHost; | 107 class BrowserChildProcessHost; |
106 class BrowserContext; | 108 class BrowserContext; |
107 class BrowserMainParts; | 109 class BrowserMainParts; |
108 class BrowserPpapiHost; | 110 class BrowserPpapiHost; |
109 class BrowserURLHandler; | 111 class BrowserURLHandler; |
110 class ClientCertificateDelegate; | 112 class ClientCertificateDelegate; |
111 class ControllerPresentationServiceDelegate; | 113 class ControllerPresentationServiceDelegate; |
112 class DevToolsManagerDelegate; | 114 class DevToolsManagerDelegate; |
113 class GpuProcessHost; | |
114 class MediaObserver; | 115 class MediaObserver; |
115 class MemoryCoordinatorDelegate; | 116 class MemoryCoordinatorDelegate; |
116 class NavigationHandle; | 117 class NavigationHandle; |
117 class NavigationUIData; | 118 class NavigationUIData; |
118 class PlatformNotificationService; | 119 class PlatformNotificationService; |
119 class QuotaPermissionContext; | 120 class QuotaPermissionContext; |
120 class ReceiverPresentationServiceDelegate; | 121 class ReceiverPresentationServiceDelegate; |
121 class RenderFrameHost; | 122 class RenderFrameHost; |
122 class RenderProcessHost; | 123 class RenderProcessHost; |
123 class RenderViewHost; | 124 class RenderViewHost; |
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 // Generate a Service user-id for the supplied browser context. Defaults to | 654 // Generate a Service user-id for the supplied browser context. Defaults to |
654 // returning a random GUID. | 655 // returning a random GUID. |
655 virtual std::string GetServiceUserIdForBrowserContext( | 656 virtual std::string GetServiceUserIdForBrowserContext( |
656 BrowserContext* browser_context); | 657 BrowserContext* browser_context); |
657 | 658 |
658 // Allows to register browser interfaces exposed through the | 659 // Allows to register browser interfaces exposed through the |
659 // RenderProcessHost. Note that interface factory callbacks added to | 660 // RenderProcessHost. Note that interface factory callbacks added to |
660 // |registry| will by default be run immediately on the IO thread, unless a | 661 // |registry| will by default be run immediately on the IO thread, unless a |
661 // task runner is provided. | 662 // task runner is provided. |
662 virtual void ExposeInterfacesToRenderer( | 663 virtual void ExposeInterfacesToRenderer( |
663 service_manager::InterfaceRegistry* registry, | 664 service_manager::BinderRegistry* registry, |
664 RenderProcessHost* render_process_host) {} | 665 RenderProcessHost* render_process_host) {} |
665 | 666 |
666 // Called when RenderFrameHostImpl connects to the Media service. Expose | 667 // Called when RenderFrameHostImpl connects to the Media service. Expose |
667 // interfaces to the service using |registry|. | 668 // interfaces to the service using |registry|. |
668 virtual void ExposeInterfacesToMediaService( | 669 virtual void ExposeInterfacesToMediaService( |
669 service_manager::InterfaceRegistry* registry, | 670 service_manager::InterfaceRegistry* registry, |
670 RenderFrameHost* render_frame_host) {} | 671 RenderFrameHost* render_frame_host) {} |
671 | 672 |
672 // Allows to register browser Mojo interfaces exposed through the | 673 // Allows to register browser Mojo interfaces exposed through the |
673 // RenderFrameHost. | 674 // RenderFrameHost. |
674 virtual void RegisterRenderFrameMojoInterfaces( | 675 virtual void RegisterRenderFrameMojoInterfaces( |
675 service_manager::InterfaceRegistry* registry, | 676 service_manager::InterfaceRegistry* registry, |
676 RenderFrameHost* render_frame_host) {} | 677 RenderFrameHost* render_frame_host) {} |
677 | 678 |
678 // Allows to register browser Mojo interfaces exposed through the | 679 // (Currently called only from GPUProcessHost, move somewhere more central). |
679 // GpuProcessHost. Called on the IO thread. Note that interface factory | 680 // Called when a request to bind |interface_name| on |interface_pipe| is |
680 // callbacks added to |registry| will by default be run immediately on the IO | 681 // received from |source_info.identity|. If the request is bound, |
681 // thread, unless a task runner is provided. | 682 // |interface_pipe| will become invalid (taken by the client). |
682 virtual void ExposeInterfacesToGpuProcess( | 683 virtual void BindInterfaceRequest( |
683 service_manager::InterfaceRegistry* registry, | 684 const service_manager::ServiceInfo& source_info, |
684 GpuProcessHost* render_process_host) {} | 685 const std::string& interface_name, |
| 686 mojo::ScopedMessagePipeHandle* interface_pipe) {} |
685 | 687 |
686 using StaticServiceMap = std::map<std::string, ServiceInfo>; | 688 using StaticServiceMap = std::map<std::string, ServiceInfo>; |
687 | 689 |
688 // Registers services to be loaded in the browser process by the Service | 690 // Registers services to be loaded in the browser process by the Service |
689 // Manager. | 691 // Manager. |
690 virtual void RegisterInProcessServices(StaticServiceMap* services) {} | 692 virtual void RegisterInProcessServices(StaticServiceMap* services) {} |
691 | 693 |
692 using OutOfProcessServiceMap = std::map<std::string, base::string16>; | 694 using OutOfProcessServiceMap = std::map<std::string, base::string16>; |
693 | 695 |
694 // Registers services to be loaded out of the browser process, in a sandboxed | 696 // Registers services to be loaded out of the browser process, in a sandboxed |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
828 virtual bool ShouldRedirectDOMStorageTaskRunner(); | 830 virtual bool ShouldRedirectDOMStorageTaskRunner(); |
829 | 831 |
830 // If this returns true, all BrowserThreads (but UI/IO) that support it on | 832 // If this returns true, all BrowserThreads (but UI/IO) that support it on |
831 // this platform will experimentally be redirected to TaskScheduler. | 833 // this platform will experimentally be redirected to TaskScheduler. |
832 virtual bool RedirectNonUINonIOBrowserThreadsToTaskScheduler(); | 834 virtual bool RedirectNonUINonIOBrowserThreadsToTaskScheduler(); |
833 }; | 835 }; |
834 | 836 |
835 } // namespace content | 837 } // namespace content |
836 | 838 |
837 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 839 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
OLD | NEW |