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