Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: net/url_request/url_request_context_builder.h

Issue 2901383006: Replace URLRequestContextBuilder::HttpNetworkSessionParams (Closed)
Patch Set: Merge.... Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/network/network_context.cc ('k') | net/url_request/url_request_context_builder.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 namespace base { 42 namespace base {
43 class SingleThreadTaskRunner; 43 class SingleThreadTaskRunner;
44 } 44 }
45 45
46 namespace net { 46 namespace net {
47 47
48 class CertVerifier; 48 class CertVerifier;
49 class ChannelIDService; 49 class ChannelIDService;
50 class CookieStore; 50 class CookieStore;
51 class CTVerifier; 51 class CTVerifier;
52 class HostMappingRules;
53 class HttpAuthHandlerFactory; 52 class HttpAuthHandlerFactory;
54 class HttpServerProperties; 53 class HttpServerProperties;
55 class NetworkQualityEstimator; 54 class NetworkQualityEstimator;
56 class ProxyConfigService; 55 class ProxyConfigService;
57 class SocketPerformanceWatcherFactory; 56 class SocketPerformanceWatcherFactory;
58 class URLRequestContext; 57 class URLRequestContext;
59 class URLRequestInterceptor; 58 class URLRequestInterceptor;
60 59
61 class NET_EXPORT URLRequestContextBuilder { 60 class NET_EXPORT URLRequestContextBuilder {
62 public: 61 public:
(...skipping 14 matching lines...) Expand all
77 Type type; 76 Type type;
78 77
79 // The max size of the cache in bytes. Default is algorithmically determined 78 // The max size of the cache in bytes. Default is algorithmically determined
80 // based off available disk space. 79 // based off available disk space.
81 int max_size; 80 int max_size;
82 81
83 // The cache path (when type is DISK). 82 // The cache path (when type is DISK).
84 base::FilePath path; 83 base::FilePath path;
85 }; 84 };
86 85
87 struct NET_EXPORT HttpNetworkSessionParams {
88 HttpNetworkSessionParams();
89 ~HttpNetworkSessionParams();
90
91 // Configutes |params| to match the settings in |this|.
92 // TODO(mmenke): Temporary utility function. Once everything is using a
93 // URLRequestContextBuilder, can make this no longer publicly accessible.
94 void ConfigureSessionParams(HttpNetworkSession::Params* params) const;
95
96 // These fields mirror those in HttpNetworkSession::Params;
97 HostMappingRules host_mapping_rules;
98 bool ignore_certificate_errors;
99 uint16_t testing_fixed_http_port;
100 uint16_t testing_fixed_https_port;
101 bool enable_http2;
102 bool enable_quic;
103 std::string quic_user_agent_id;
104 int quic_max_server_configs_stored_in_properties;
105 QuicTagVector quic_connection_options;
106 bool quic_close_sessions_on_ip_change;
107 int quic_idle_connection_timeout_seconds;
108 bool quic_migrate_sessions_on_network_change;
109 bool quic_migrate_sessions_early;
110 bool quic_disable_bidirectional_streams;
111 bool quic_race_cert_verification;
112 };
113
114 URLRequestContextBuilder(); 86 URLRequestContextBuilder();
115 virtual ~URLRequestContextBuilder(); 87 virtual ~URLRequestContextBuilder();
116 88
117 // Sets a name for this URLRequestContext. Currently the name is used in 89 // Sets a name for this URLRequestContext. Currently the name is used in
118 // MemoryDumpProvier to annotate memory usage. The name does not need to be 90 // MemoryDumpProvier to annotate memory usage. The name does not need to be
119 // unique. 91 // unique.
120 void set_name(const char* name) { name_ = name; } 92 void set_name(const char* name) { name_ = name; }
121 93
122 // Sets whether Brotli compression is enabled. Disabled by default; 94 // Sets whether Brotli compression is enabled. Disabled by default;
123 void set_enable_brotli(bool enable_brotli) { enable_brotli_ = enable_brotli; } 95 void set_enable_brotli(bool enable_brotli) { enable_brotli_ = enable_brotli; }
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // to set another custom one. 191 // to set another custom one.
220 void SetHttpAuthHandlerFactory( 192 void SetHttpAuthHandlerFactory(
221 std::unique_ptr<HttpAuthHandlerFactory> factory); 193 std::unique_ptr<HttpAuthHandlerFactory> factory);
222 194
223 // By default HttpCache is enabled with a default constructed HttpCacheParams. 195 // By default HttpCache is enabled with a default constructed HttpCacheParams.
224 void EnableHttpCache(const HttpCacheParams& params); 196 void EnableHttpCache(const HttpCacheParams& params);
225 void DisableHttpCache(); 197 void DisableHttpCache();
226 198
227 // Override default HttpNetworkSession::Params settings. 199 // Override default HttpNetworkSession::Params settings.
228 void set_http_network_session_params( 200 void set_http_network_session_params(
229 const HttpNetworkSessionParams& http_network_session_params) { 201 const HttpNetworkSession::Params& http_network_session_params) {
230 http_network_session_params_ = http_network_session_params; 202 http_network_session_params_ = http_network_session_params;
231 } 203 }
232 204
233 void set_transport_security_persister_path( 205 void set_transport_security_persister_path(
234 const base::FilePath& transport_security_persister_path) { 206 const base::FilePath& transport_security_persister_path) {
235 transport_security_persister_path_ = transport_security_persister_path; 207 transport_security_persister_path_ = transport_security_persister_path;
236 } 208 }
237 209
238 void SetSpdyAndQuicEnabled(bool spdy_enabled, 210 void SetSpdyAndQuicEnabled(bool spdy_enabled,
239 bool quic_enabled); 211 bool quic_enabled);
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 // Include support for ftp:// requests. 336 // Include support for ftp:// requests.
365 bool ftp_enabled_; 337 bool ftp_enabled_;
366 #endif 338 #endif
367 bool http_cache_enabled_; 339 bool http_cache_enabled_;
368 bool throttling_enabled_; 340 bool throttling_enabled_;
369 bool sdch_enabled_; 341 bool sdch_enabled_;
370 bool cookie_store_set_by_client_; 342 bool cookie_store_set_by_client_;
371 343
372 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; 344 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_;
373 HttpCacheParams http_cache_params_; 345 HttpCacheParams http_cache_params_;
374 HttpNetworkSessionParams http_network_session_params_; 346 HttpNetworkSession::Params http_network_session_params_;
375 base::FilePath transport_security_persister_path_; 347 base::FilePath transport_security_persister_path_;
376 NetLog* net_log_; 348 NetLog* net_log_;
377 std::unique_ptr<HostResolver> host_resolver_; 349 std::unique_ptr<HostResolver> host_resolver_;
378 std::unique_ptr<ChannelIDService> channel_id_service_; 350 std::unique_ptr<ChannelIDService> channel_id_service_;
379 std::unique_ptr<ProxyConfigService> proxy_config_service_; 351 std::unique_ptr<ProxyConfigService> proxy_config_service_;
380 std::unique_ptr<ProxyService> proxy_service_; 352 std::unique_ptr<ProxyService> proxy_service_;
381 std::unique_ptr<NetworkDelegate> network_delegate_; 353 std::unique_ptr<NetworkDelegate> network_delegate_;
382 std::unique_ptr<ProxyDelegate> proxy_delegate_; 354 std::unique_ptr<ProxyDelegate> proxy_delegate_;
383 std::unique_ptr<CookieStore> cookie_store_; 355 std::unique_ptr<CookieStore> cookie_store_;
384 std::unique_ptr<HttpAuthHandlerFactory> http_auth_handler_factory_; 356 std::unique_ptr<HttpAuthHandlerFactory> http_auth_handler_factory_;
385 std::unique_ptr<CertVerifier> cert_verifier_; 357 std::unique_ptr<CertVerifier> cert_verifier_;
386 std::unique_ptr<CTVerifier> ct_verifier_; 358 std::unique_ptr<CTVerifier> ct_verifier_;
387 std::vector<std::unique_ptr<URLRequestInterceptor>> url_request_interceptors_; 359 std::vector<std::unique_ptr<URLRequestInterceptor>> url_request_interceptors_;
388 std::unique_ptr<HttpServerProperties> http_server_properties_; 360 std::unique_ptr<HttpServerProperties> http_server_properties_;
389 std::map<std::string, std::unique_ptr<URLRequestJobFactory::ProtocolHandler>> 361 std::map<std::string, std::unique_ptr<URLRequestJobFactory::ProtocolHandler>>
390 protocol_handlers_; 362 protocol_handlers_;
391 // SocketPerformanceWatcherFactory to be used by this context builder. 363 // SocketPerformanceWatcherFactory to be used by this context builder.
392 // Not owned by the context builder. Once it is set to a non-null value, it 364 // Not owned by the context builder. Once it is set to a non-null value, it
393 // is guaranteed to be non-null during the lifetime of |this|. 365 // is guaranteed to be non-null during the lifetime of |this|.
394 SocketPerformanceWatcherFactory* socket_performance_watcher_factory_; 366 SocketPerformanceWatcherFactory* socket_performance_watcher_factory_;
395 367
396 DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder); 368 DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder);
397 }; 369 };
398 370
399 } // namespace net 371 } // namespace net
400 372
401 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ 373 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_
OLDNEW
« no previous file with comments | « content/network/network_context.cc ('k') | net/url_request/url_request_context_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698