| 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 // This class is useful for building a simple URLRequestContext. Most creators | 5 // This class is useful for building a simple URLRequestContext. Most creators |
| 6 // of new URLRequestContexts should use this helper class to construct it. Call | 6 // of new URLRequestContexts should use this helper class to construct it. Call |
| 7 // any configuration params, and when done, invoke Build() to construct the | 7 // any configuration params, and when done, invoke Build() to construct the |
| 8 // URLRequestContext. This URLRequestContext will own all its own storage. | 8 // URLRequestContext. This URLRequestContext will own all its own storage. |
| 9 // | 9 // |
| 10 // URLRequestContextBuilder and its associated params classes are initially | 10 // URLRequestContextBuilder and its associated params classes are initially |
| 11 // populated with "sane" default values. Read through the comments to figure out | 11 // populated with "sane" default values. Read through the comments to figure out |
| 12 // what these are. | 12 // what these are. |
| 13 | 13 |
| 14 #ifndef NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ | 14 #ifndef NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ |
| 15 #define NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ | 15 #define NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ |
| 16 | 16 |
| 17 #include <stdint.h> | 17 #include <stdint.h> |
| 18 | |
| 19 #include <string> | 18 #include <string> |
| 19 #include <utility> |
| 20 | 20 |
| 21 #include "base/files/file_path.h" | 21 #include "base/files/file_path.h" |
| 22 #include "base/macros.h" | 22 #include "base/macros.h" |
| 23 #include "base/memory/ref_counted.h" | 23 #include "base/memory/ref_counted.h" |
| 24 #include "base/memory/scoped_ptr.h" | 24 #include "base/memory/scoped_ptr.h" |
| 25 #include "build/build_config.h" | 25 #include "build/build_config.h" |
| 26 #include "net/base/net_export.h" | 26 #include "net/base/net_export.h" |
| 27 #include "net/base/network_delegate.h" | 27 #include "net/base/network_delegate.h" |
| 28 #include "net/dns/host_resolver.h" | 28 #include "net/dns/host_resolver.h" |
| 29 #include "net/http/http_network_session.h" | 29 #include "net/http/http_network_session.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 // should be used to ensure that a context and its associated | 103 // should be used to ensure that a context and its associated |
| 104 // HttpNetworkSession are consistent. | 104 // HttpNetworkSession are consistent. |
| 105 static void SetHttpNetworkSessionComponents( | 105 static void SetHttpNetworkSessionComponents( |
| 106 const URLRequestContext* context, | 106 const URLRequestContext* context, |
| 107 HttpNetworkSession::Params* params); | 107 HttpNetworkSession::Params* params); |
| 108 | 108 |
| 109 // These functions are mutually exclusive. The ProxyConfigService, if | 109 // These functions are mutually exclusive. The ProxyConfigService, if |
| 110 // set, will be used to construct a ProxyService. | 110 // set, will be used to construct a ProxyService. |
| 111 void set_proxy_config_service( | 111 void set_proxy_config_service( |
| 112 scoped_ptr<ProxyConfigService> proxy_config_service) { | 112 scoped_ptr<ProxyConfigService> proxy_config_service) { |
| 113 proxy_config_service_ = proxy_config_service.Pass(); | 113 proxy_config_service_ = std::move(proxy_config_service); |
| 114 } | 114 } |
| 115 void set_proxy_service(scoped_ptr<ProxyService> proxy_service) { | 115 void set_proxy_service(scoped_ptr<ProxyService> proxy_service) { |
| 116 proxy_service_ = proxy_service.Pass(); | 116 proxy_service_ = std::move(proxy_service); |
| 117 } | 117 } |
| 118 | 118 |
| 119 // Call these functions to specify hard-coded Accept-Language | 119 // Call these functions to specify hard-coded Accept-Language |
| 120 // or User-Agent header values for all requests that don't | 120 // or User-Agent header values for all requests that don't |
| 121 // have the headers already set. | 121 // have the headers already set. |
| 122 void set_accept_language(const std::string& accept_language) { | 122 void set_accept_language(const std::string& accept_language) { |
| 123 accept_language_ = accept_language; | 123 accept_language_ = accept_language; |
| 124 } | 124 } |
| 125 void set_user_agent(const std::string& user_agent) { | 125 void set_user_agent(const std::string& user_agent) { |
| 126 user_agent_ = user_agent; | 126 user_agent_ = user_agent; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 146 #endif | 146 #endif |
| 147 | 147 |
| 148 // Unlike the other setters, the builder does not take ownership of the | 148 // Unlike the other setters, the builder does not take ownership of the |
| 149 // NetLog. | 149 // NetLog. |
| 150 // TODO(mmenke): Probably makes sense to get rid of this, and have consumers | 150 // TODO(mmenke): Probably makes sense to get rid of this, and have consumers |
| 151 // set their own NetLog::Observers instead. | 151 // set their own NetLog::Observers instead. |
| 152 void set_net_log(NetLog* net_log) { net_log_ = net_log; } | 152 void set_net_log(NetLog* net_log) { net_log_ = net_log; } |
| 153 | 153 |
| 154 // By default host_resolver is constructed with CreateDefaultResolver. | 154 // By default host_resolver is constructed with CreateDefaultResolver. |
| 155 void set_host_resolver(scoped_ptr<HostResolver> host_resolver) { | 155 void set_host_resolver(scoped_ptr<HostResolver> host_resolver) { |
| 156 host_resolver_ = host_resolver.Pass(); | 156 host_resolver_ = std::move(host_resolver); |
| 157 } | 157 } |
| 158 | 158 |
| 159 // Uses BasicNetworkDelegate by default. Note that calling Build will unset | 159 // Uses BasicNetworkDelegate by default. Note that calling Build will unset |
| 160 // any custom delegate in builder, so this must be called each time before | 160 // any custom delegate in builder, so this must be called each time before |
| 161 // Build is called. | 161 // Build is called. |
| 162 void set_network_delegate(scoped_ptr<NetworkDelegate> delegate) { | 162 void set_network_delegate(scoped_ptr<NetworkDelegate> delegate) { |
| 163 network_delegate_ = delegate.Pass(); | 163 network_delegate_ = std::move(delegate); |
| 164 } | 164 } |
| 165 | 165 |
| 166 // Sets a specific HttpAuthHandlerFactory to be used by the URLRequestContext | 166 // Sets a specific HttpAuthHandlerFactory to be used by the URLRequestContext |
| 167 // rather than the default |HttpAuthHandlerRegistryFactory|. The builder | 167 // rather than the default |HttpAuthHandlerRegistryFactory|. The builder |
| 168 // takes ownership of the factory and will eventually transfer it to the new | 168 // takes ownership of the factory and will eventually transfer it to the new |
| 169 // URLRequestContext. Note that since Build will transfer ownership, the | 169 // URLRequestContext. Note that since Build will transfer ownership, the |
| 170 // custom factory will be unset and this must be called before the next Build | 170 // custom factory will be unset and this must be called before the next Build |
| 171 // to set another custom one. | 171 // to set another custom one. |
| 172 void SetHttpAuthHandlerFactory(scoped_ptr<HttpAuthHandlerFactory> factory); | 172 void SetHttpAuthHandlerFactory(scoped_ptr<HttpAuthHandlerFactory> factory); |
| 173 | 173 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 scoped_ptr<CertVerifier> cert_verifier_; | 300 scoped_ptr<CertVerifier> cert_verifier_; |
| 301 std::vector<scoped_ptr<URLRequestInterceptor>> url_request_interceptors_; | 301 std::vector<scoped_ptr<URLRequestInterceptor>> url_request_interceptors_; |
| 302 scoped_ptr<HttpServerProperties> http_server_properties_; | 302 scoped_ptr<HttpServerProperties> http_server_properties_; |
| 303 | 303 |
| 304 DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder); | 304 DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder); |
| 305 }; | 305 }; |
| 306 | 306 |
| 307 } // namespace net | 307 } // namespace net |
| 308 | 308 |
| 309 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ | 309 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ |
| OLD | NEW |