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 NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ | 5 #ifndef NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ |
6 #define NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ | 6 #define NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
12 #include "net/base/net_export.h" | 12 #include "net/base/net_export.h" |
| 13 #include "net/http/http_network_session.h" |
13 | 14 |
14 namespace net { | 15 namespace net { |
15 | 16 |
16 class CertVerifier; | 17 class CertVerifier; |
17 class ChannelIDService; | 18 class ChannelIDService; |
18 class CookieStore; | 19 class CookieStore; |
19 class CTPolicyEnforcer; | 20 class CTPolicyEnforcer; |
20 class CTVerifier; | 21 class CTVerifier; |
21 class HostResolver; | 22 class HostResolver; |
22 class HttpAuthHandlerFactory; | 23 class HttpAuthHandlerFactory; |
23 class HttpNetworkSession; | |
24 class HttpServerProperties; | 24 class HttpServerProperties; |
25 class HttpTransactionFactory; | 25 class HttpTransactionFactory; |
26 class HttpUserAgentSettings; | 26 class HttpUserAgentSettings; |
27 class NetLog; | 27 class NetLog; |
28 class NetworkDelegate; | 28 class NetworkDelegate; |
29 class ProxyDelegate; | 29 class ProxyDelegate; |
30 class ProxyService; | 30 class ProxyService; |
31 class SdchManager; | 31 class SdchManager; |
32 class SSLConfigService; | 32 class SSLConfigService; |
33 class TransportSecurityState; | 33 class TransportSecurityState; |
(...skipping 29 matching lines...) Expand all Loading... |
63 std::unique_ptr<HttpServerProperties> http_server_properties); | 63 std::unique_ptr<HttpServerProperties> http_server_properties); |
64 void set_cookie_store(std::unique_ptr<CookieStore> cookie_store); | 64 void set_cookie_store(std::unique_ptr<CookieStore> cookie_store); |
65 void set_transport_security_state( | 65 void set_transport_security_state( |
66 std::unique_ptr<TransportSecurityState> transport_security_state); | 66 std::unique_ptr<TransportSecurityState> transport_security_state); |
67 void set_cert_transparency_verifier( | 67 void set_cert_transparency_verifier( |
68 std::unique_ptr<CTVerifier> cert_transparency_verifier); | 68 std::unique_ptr<CTVerifier> cert_transparency_verifier); |
69 void set_ct_policy_enforcer( | 69 void set_ct_policy_enforcer( |
70 std::unique_ptr<CTPolicyEnforcer> ct_policy_enforcer); | 70 std::unique_ptr<CTPolicyEnforcer> ct_policy_enforcer); |
71 void set_http_network_session( | 71 void set_http_network_session( |
72 std::unique_ptr<HttpNetworkSession> http_network_session); | 72 std::unique_ptr<HttpNetworkSession> http_network_session); |
| 73 void set_http_network_session_dynamic_shared_params( |
| 74 std::unique_ptr<HttpNetworkSession::DynamicSharedParams> |
| 75 dynamic_shared_params); |
73 void set_http_transaction_factory( | 76 void set_http_transaction_factory( |
74 std::unique_ptr<HttpTransactionFactory> http_transaction_factory); | 77 std::unique_ptr<HttpTransactionFactory> http_transaction_factory); |
75 void set_job_factory(std::unique_ptr<URLRequestJobFactory> job_factory); | 78 void set_job_factory(std::unique_ptr<URLRequestJobFactory> job_factory); |
76 void set_throttler_manager( | 79 void set_throttler_manager( |
77 std::unique_ptr<URLRequestThrottlerManager> throttler_manager); | 80 std::unique_ptr<URLRequestThrottlerManager> throttler_manager); |
78 void set_http_user_agent_settings( | 81 void set_http_user_agent_settings( |
79 std::unique_ptr<HttpUserAgentSettings> http_user_agent_settings); | 82 std::unique_ptr<HttpUserAgentSettings> http_user_agent_settings); |
80 void set_sdch_manager(std::unique_ptr<SdchManager> sdch_manager); | 83 void set_sdch_manager(std::unique_ptr<SdchManager> sdch_manager); |
81 | 84 |
82 // Everything else can be access through the URLRequestContext, but this | 85 // Everything else can be access through the URLRequestContext, but this |
(...skipping 21 matching lines...) Expand all Loading... |
104 std::unique_ptr<HttpServerProperties> http_server_properties_; | 107 std::unique_ptr<HttpServerProperties> http_server_properties_; |
105 std::unique_ptr<HttpUserAgentSettings> http_user_agent_settings_; | 108 std::unique_ptr<HttpUserAgentSettings> http_user_agent_settings_; |
106 std::unique_ptr<CookieStore> cookie_store_; | 109 std::unique_ptr<CookieStore> cookie_store_; |
107 std::unique_ptr<TransportSecurityState> transport_security_state_; | 110 std::unique_ptr<TransportSecurityState> transport_security_state_; |
108 std::unique_ptr<CTVerifier> cert_transparency_verifier_; | 111 std::unique_ptr<CTVerifier> cert_transparency_verifier_; |
109 std::unique_ptr<CTPolicyEnforcer> ct_policy_enforcer_; | 112 std::unique_ptr<CTPolicyEnforcer> ct_policy_enforcer_; |
110 | 113 |
111 // Not actually pointed at by the URLRequestContext, but may be used (but not | 114 // Not actually pointed at by the URLRequestContext, but may be used (but not |
112 // owned) by the HttpTransactionFactory. | 115 // owned) by the HttpTransactionFactory. |
113 std::unique_ptr<HttpNetworkSession> http_network_session_; | 116 std::unique_ptr<HttpNetworkSession> http_network_session_; |
| 117 // Used for lifetime management. May own nothing. |
| 118 std::unique_ptr<HttpNetworkSession::DynamicSharedParams> |
| 119 http_network_session_dynamic_shared_params_; |
114 | 120 |
115 std::unique_ptr<HttpTransactionFactory> http_transaction_factory_; | 121 std::unique_ptr<HttpTransactionFactory> http_transaction_factory_; |
116 std::unique_ptr<URLRequestJobFactory> job_factory_; | 122 std::unique_ptr<URLRequestJobFactory> job_factory_; |
117 std::unique_ptr<URLRequestThrottlerManager> throttler_manager_; | 123 std::unique_ptr<URLRequestThrottlerManager> throttler_manager_; |
118 std::unique_ptr<SdchManager> sdch_manager_; | 124 std::unique_ptr<SdchManager> sdch_manager_; |
119 | 125 |
120 DISALLOW_COPY_AND_ASSIGN(URLRequestContextStorage); | 126 DISALLOW_COPY_AND_ASSIGN(URLRequestContextStorage); |
121 }; | 127 }; |
122 | 128 |
123 } // namespace net | 129 } // namespace net |
124 | 130 |
125 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ | 131 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ |
OLD | NEW |