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 <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/callback_forward.h" | 13 #include "base/callback_forward.h" |
14 #include "base/memory/linked_ptr.h" | 14 #include "base/memory/linked_ptr.h" |
15 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
16 #include "base/memory/scoped_vector.h" | 16 #include "base/memory/scoped_vector.h" |
17 #include "base/values.h" | 17 #include "base/values.h" |
18 #include "content/public/browser/certificate_request_result_type.h" | 18 #include "content/public/browser/certificate_request_result_type.h" |
19 #include "content/public/browser/navigation_throttle.h" | |
20 #include "content/public/common/content_client.h" | 19 #include "content/public/common/content_client.h" |
21 #include "content/public/common/media_stream_request.h" | 20 #include "content/public/common/media_stream_request.h" |
22 #include "content/public/common/resource_type.h" | 21 #include "content/public/common/resource_type.h" |
23 #include "content/public/common/socket_permission_request.h" | 22 #include "content/public/common/socket_permission_request.h" |
24 #include "content/public/common/window_container_type.h" | 23 #include "content/public/common/window_container_type.h" |
25 #include "net/base/mime_util.h" | 24 #include "net/base/mime_util.h" |
26 #include "net/cookies/canonical_cookie.h" | 25 #include "net/cookies/canonical_cookie.h" |
27 #include "net/url_request/url_request_interceptor.h" | 26 #include "net/url_request/url_request_interceptor.h" |
28 #include "net/url_request/url_request_job_factory.h" | 27 #include "net/url_request/url_request_job_factory.h" |
29 #include "storage/browser/fileapi/file_system_context.h" | 28 #include "storage/browser/fileapi/file_system_context.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 class BrowserContext; | 89 class BrowserContext; |
91 class BrowserMainParts; | 90 class BrowserMainParts; |
92 class BrowserPluginGuestDelegate; | 91 class BrowserPluginGuestDelegate; |
93 class BrowserPpapiHost; | 92 class BrowserPpapiHost; |
94 class BrowserURLHandler; | 93 class BrowserURLHandler; |
95 class ClientCertificateDelegate; | 94 class ClientCertificateDelegate; |
96 class DevToolsManagerDelegate; | 95 class DevToolsManagerDelegate; |
97 class ExternalVideoSurfaceContainer; | 96 class ExternalVideoSurfaceContainer; |
98 class LocationProvider; | 97 class LocationProvider; |
99 class MediaObserver; | 98 class MediaObserver; |
100 class NavigationHandle; | |
101 class NavigatorConnectContext; | 99 class NavigatorConnectContext; |
102 class NavigatorConnectServiceFactory; | 100 class NavigatorConnectServiceFactory; |
103 class PlatformNotificationService; | 101 class PlatformNotificationService; |
104 class PresentationServiceDelegate; | 102 class PresentationServiceDelegate; |
105 class QuotaPermissionContext; | 103 class QuotaPermissionContext; |
106 class RenderFrameHost; | 104 class RenderFrameHost; |
107 class RenderProcessHost; | 105 class RenderProcessHost; |
108 class RenderViewHost; | 106 class RenderViewHost; |
109 class ResourceContext; | 107 class ResourceContext; |
110 class ServiceRegistry; | 108 class ServiceRegistry; |
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
664 // Allows programmatic opening of a new tab/window without going through | 662 // Allows programmatic opening of a new tab/window without going through |
665 // another WebContents. For example, from a Worker. |callback| will be | 663 // another WebContents. For example, from a Worker. |callback| will be |
666 // invoked with the appropriate WebContents* when available. | 664 // invoked with the appropriate WebContents* when available. |
667 virtual void OpenURL(BrowserContext* browser_context, | 665 virtual void OpenURL(BrowserContext* browser_context, |
668 const OpenURLParams& params, | 666 const OpenURLParams& params, |
669 const base::Callback<void(WebContents*)>& callback); | 667 const base::Callback<void(WebContents*)>& callback); |
670 | 668 |
671 // Allows the embedder to record |metric| for a specific |url|. | 669 // Allows the embedder to record |metric| for a specific |url|. |
672 virtual void RecordURLMetric(const std::string& metric, const GURL& url) {} | 670 virtual void RecordURLMetric(const std::string& metric, const GURL& url) {} |
673 | 671 |
674 // Allows the embedder to register one or more NavigationThrottles for the | |
675 // navigation indicated by |navigation_handle|. A NavigationThrottle is used | |
676 // to control the flow of a navigation on the UI thread. The embedder is | |
677 // guaranteed that the throttles will be executed in the order they were | |
678 // provided. | |
679 virtual ScopedVector<NavigationThrottle> CreateThrottlesForNavigation( | |
680 NavigationHandle* navigation_handle); | |
681 | |
682 // Populates |mappings| with all files that need to be mapped before launching | 672 // Populates |mappings| with all files that need to be mapped before launching |
683 // a child process. | 673 // a child process. |
684 #if defined(OS_ANDROID) | 674 #if defined(OS_ANDROID) |
685 virtual void GetAdditionalMappedFilesForChildProcess( | 675 virtual void GetAdditionalMappedFilesForChildProcess( |
686 const base::CommandLine& command_line, | 676 const base::CommandLine& command_line, |
687 int child_process_id, | 677 int child_process_id, |
688 content::FileDescriptorInfo* mappings, | 678 content::FileDescriptorInfo* mappings, |
689 std::map<int, base::MemoryMappedFile::Region>* regions) {} | 679 std::map<int, base::MemoryMappedFile::Region>* regions) {} |
690 #elif defined(OS_POSIX) && !defined(OS_MACOSX) | 680 #elif defined(OS_POSIX) && !defined(OS_MACOSX) |
691 virtual void GetAdditionalMappedFilesForChildProcess( | 681 virtual void GetAdditionalMappedFilesForChildProcess( |
(...skipping 23 matching lines...) Expand all Loading... |
715 // Allows an embedder to provide its own ExternalVideoSurfaceContainer | 705 // Allows an embedder to provide its own ExternalVideoSurfaceContainer |
716 // implementation. Return nullptr to disable external surface video. | 706 // implementation. Return nullptr to disable external surface video. |
717 virtual ExternalVideoSurfaceContainer* | 707 virtual ExternalVideoSurfaceContainer* |
718 OverrideCreateExternalVideoSurfaceContainer(WebContents* web_contents); | 708 OverrideCreateExternalVideoSurfaceContainer(WebContents* web_contents); |
719 #endif | 709 #endif |
720 }; | 710 }; |
721 | 711 |
722 } // namespace content | 712 } // namespace content |
723 | 713 |
724 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 714 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
OLD | NEW |