| 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> |
| 11 #include <memory> | 11 #include <memory> |
| 12 #include <string> | 12 #include <string> |
| 13 #include <utility> | 13 #include <utility> |
| 14 #include <vector> | 14 #include <vector> |
| 15 | 15 |
| 16 #include "base/callback.h" | 16 #include "base/callback.h" |
| 17 #include "base/task_scheduler/task_scheduler.h" | 17 #include "base/task_scheduler/task_scheduler.h" |
| 18 #include "base/values.h" | 18 #include "base/values.h" |
| 19 #include "build/build_config.h" | 19 #include "build/build_config.h" |
| 20 #include "content/public/browser/certificate_request_result_type.h" | 20 #include "content/public/browser/certificate_request_result_type.h" |
| 21 #include "content/public/browser/navigation_throttle.h" | 21 #include "content/public/browser/navigation_throttle.h" |
| 22 #include "content/public/common/associated_interface_registry.h" | 22 #include "content/public/common/associated_interface_registry.h" |
| 23 #include "content/public/common/content_client.h" | 23 #include "content/public/common/content_client.h" |
| 24 #include "content/public/common/media_stream_request.h" | 24 #include "content/public/common/media_stream_request.h" |
| 25 #include "content/public/common/network_service.mojom.h" |
| 25 #include "content/public/common/resource_type.h" | 26 #include "content/public/common/resource_type.h" |
| 26 #include "content/public/common/sandbox_type.h" | 27 #include "content/public/common/sandbox_type.h" |
| 27 #include "content/public/common/socket_permission_request.h" | 28 #include "content/public/common/socket_permission_request.h" |
| 28 #include "content/public/common/window_container_type.mojom.h" | 29 #include "content/public/common/window_container_type.mojom.h" |
| 29 #include "media/media_features.h" | 30 #include "media/media_features.h" |
| 30 #include "media/mojo/interfaces/remoting.mojom.h" | 31 #include "media/mojo/interfaces/remoting.mojom.h" |
| 31 #include "net/base/mime_util.h" | 32 #include "net/base/mime_util.h" |
| 32 #include "net/cookies/canonical_cookie.h" | 33 #include "net/cookies/canonical_cookie.h" |
| 33 #include "services/service_manager/embedder/embedded_service_info.h" | 34 #include "services/service_manager/embedder/embedded_service_info.h" |
| 34 #include "services/service_manager/public/cpp/binder_registry.h" | 35 #include "services/service_manager/public/cpp/binder_registry.h" |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 class TracingDelegate; | 137 class TracingDelegate; |
| 137 class URLLoaderThrottle; | 138 class URLLoaderThrottle; |
| 138 class VpnServiceProxy; | 139 class VpnServiceProxy; |
| 139 class WebContents; | 140 class WebContents; |
| 140 class WebContentsViewDelegate; | 141 class WebContentsViewDelegate; |
| 141 struct MainFunctionParams; | 142 struct MainFunctionParams; |
| 142 struct OpenURLParams; | 143 struct OpenURLParams; |
| 143 struct Referrer; | 144 struct Referrer; |
| 144 struct WebPreferences; | 145 struct WebPreferences; |
| 145 | 146 |
| 147 namespace mojom { |
| 148 class NetworkContext; |
| 149 } |
| 150 |
| 146 // Embedder API (or SPI) for participating in browser logic, to be implemented | 151 // Embedder API (or SPI) for participating in browser logic, to be implemented |
| 147 // by the client of the content browser. See ChromeContentBrowserClient for the | 152 // by the client of the content browser. See ChromeContentBrowserClient for the |
| 148 // principal implementation. The methods are assumed to be called on the UI | 153 // principal implementation. The methods are assumed to be called on the UI |
| 149 // thread unless otherwise specified. Use this "escape hatch" sparingly, to | 154 // thread unless otherwise specified. Use this "escape hatch" sparingly, to |
| 150 // avoid the embedder interface ballooning and becoming very specific to Chrome. | 155 // avoid the embedder interface ballooning and becoming very specific to Chrome. |
| 151 // (Often, the call out to the client can happen in a different part of the code | 156 // (Often, the call out to the client can happen in a different part of the code |
| 152 // that either already has a hook out to the embedder, or calls out to one of | 157 // that either already has a hook out to the embedder, or calls out to one of |
| 153 // the observer interfaces.) | 158 // the observer interfaces.) |
| 154 class CONTENT_EXPORT ContentBrowserClient { | 159 class CONTENT_EXPORT ContentBrowserClient { |
| 155 public: | 160 public: |
| (...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 818 // Provides parameters for initializing the global task scheduler. Default | 823 // Provides parameters for initializing the global task scheduler. Default |
| 819 // params are used if this returns nullptr. | 824 // params are used if this returns nullptr. |
| 820 virtual std::unique_ptr<base::TaskScheduler::InitParams> | 825 virtual std::unique_ptr<base::TaskScheduler::InitParams> |
| 821 GetTaskSchedulerInitParams(); | 826 GetTaskSchedulerInitParams(); |
| 822 | 827 |
| 823 // Allows the embedder to register one or more URLLoaderThrottles for a | 828 // Allows the embedder to register one or more URLLoaderThrottles for a |
| 824 // URL request. This is used only when --enable-network-service is in effect. | 829 // URL request. This is used only when --enable-network-service is in effect. |
| 825 // This is called on the IO thread. | 830 // This is called on the IO thread. |
| 826 virtual std::vector<std::unique_ptr<URLLoaderThrottle>> | 831 virtual std::vector<std::unique_ptr<URLLoaderThrottle>> |
| 827 CreateURLLoaderThrottles(const base::Callback<WebContents*()>& wc_getter); | 832 CreateURLLoaderThrottles(const base::Callback<WebContents*()>& wc_getter); |
| 833 |
| 834 // Creates the main NetworkContext for a BrowserContext's StoragePartition. |
| 835 // Only called when the network service is enabled. If |in_memory| is true, |
| 836 // |relative_partition_path| is still a path that uniquely identifies the |
| 837 // storage partition, though nothing should be written to it. |
| 838 virtual mojom::NetworkContextPtr CreateNetworkContext( |
| 839 BrowserContext* context, |
| 840 bool in_memory, |
| 841 const base::FilePath& relative_partition_path); |
| 828 }; | 842 }; |
| 829 | 843 |
| 830 } // namespace content | 844 } // namespace content |
| 831 | 845 |
| 832 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ | 846 #endif // CONTENT_PUBLIC_BROWSER_CONTENT_BROWSER_CLIENT_H_ |
| OLD | NEW |