Chromium Code Reviews| 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 "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| 11 #include "net/base/net_export.h" | 11 #include "net/base/net_export.h" |
| 12 | 12 |
| 13 namespace net { | 13 namespace net { |
| 14 | 14 |
| 15 class CertVerifier; | 15 class CertVerifier; |
| 16 class CookieStore; | 16 class CookieStore; |
| 17 class FraudulentCertificateReporter; | 17 class FraudulentCertificateReporter; |
| 18 class FtpTransactionFactory; | 18 class FtpTransactionFactory; |
| 19 class HostResolver; | 19 class HostResolver; |
| 20 class HttpAuthHandlerFactory; | 20 class HttpAuthHandlerFactory; |
| 21 class HttpServerProperties; | 21 class HttpServerProperties; |
| 22 class HttpTransactionFactory; | 22 class HttpTransactionFactory; |
| 23 class HttpUserAgentSettings; | 23 class HttpUserAgentSettings; |
| 24 class NetLog; | 24 class NetLog; |
| 25 class NetworkDelegate; | 25 class NetworkDelegate; |
| 26 class ServerBoundCertService; | 26 class ChannelIDService; |
|
wtc
2014/07/01 19:50:57
List in alphabetical order.
Ryan Hamilton
2014/07/21 19:12:13
Done.
| |
| 27 class ProxyService; | 27 class ProxyService; |
| 28 class SSLConfigService; | 28 class SSLConfigService; |
| 29 class TransportSecurityState; | 29 class TransportSecurityState; |
| 30 class URLRequestContext; | 30 class URLRequestContext; |
| 31 class URLRequestJobFactory; | 31 class URLRequestJobFactory; |
| 32 class URLRequestThrottlerManager; | 32 class URLRequestThrottlerManager; |
| 33 | 33 |
| 34 // URLRequestContextStorage is a helper class that provides storage for unowned | 34 // URLRequestContextStorage is a helper class that provides storage for unowned |
| 35 // member variables of URLRequestContext. | 35 // member variables of URLRequestContext. |
| 36 class NET_EXPORT URLRequestContextStorage { | 36 class NET_EXPORT URLRequestContextStorage { |
| 37 public: | 37 public: |
| 38 // Note that URLRequestContextStorage does not acquire a reference to | 38 // Note that URLRequestContextStorage does not acquire a reference to |
| 39 // URLRequestContext, since it is often designed to be embedded in a | 39 // URLRequestContext, since it is often designed to be embedded in a |
| 40 // URLRequestContext subclass. | 40 // URLRequestContext subclass. |
| 41 explicit URLRequestContextStorage(URLRequestContext* context); | 41 explicit URLRequestContextStorage(URLRequestContext* context); |
| 42 ~URLRequestContextStorage(); | 42 ~URLRequestContextStorage(); |
| 43 | 43 |
| 44 // These setters will set both the member variables and call the setter on the | 44 // These setters will set both the member variables and call the setter on the |
| 45 // URLRequestContext object. In all cases, ownership is passed to |this|. | 45 // URLRequestContext object. In all cases, ownership is passed to |this|. |
| 46 | 46 |
| 47 void set_net_log(NetLog* net_log); | 47 void set_net_log(NetLog* net_log); |
| 48 void set_host_resolver(scoped_ptr<HostResolver> host_resolver); | 48 void set_host_resolver(scoped_ptr<HostResolver> host_resolver); |
| 49 void set_cert_verifier(CertVerifier* cert_verifier); | 49 void set_cert_verifier(CertVerifier* cert_verifier); |
| 50 void set_server_bound_cert_service( | 50 void set_channel_id_service( |
| 51 ServerBoundCertService* server_bound_cert_service); | 51 ChannelIDService* channel_id_service); |
| 52 void set_fraudulent_certificate_reporter( | 52 void set_fraudulent_certificate_reporter( |
| 53 FraudulentCertificateReporter* fraudulent_certificate_reporter); | 53 FraudulentCertificateReporter* fraudulent_certificate_reporter); |
| 54 void set_http_auth_handler_factory( | 54 void set_http_auth_handler_factory( |
| 55 HttpAuthHandlerFactory* http_auth_handler_factory); | 55 HttpAuthHandlerFactory* http_auth_handler_factory); |
| 56 void set_proxy_service(ProxyService* proxy_service); | 56 void set_proxy_service(ProxyService* proxy_service); |
| 57 void set_ssl_config_service(SSLConfigService* ssl_config_service); | 57 void set_ssl_config_service(SSLConfigService* ssl_config_service); |
| 58 void set_network_delegate(NetworkDelegate* network_delegate); | 58 void set_network_delegate(NetworkDelegate* network_delegate); |
| 59 void set_http_server_properties( | 59 void set_http_server_properties( |
| 60 scoped_ptr<HttpServerProperties> http_server_properties); | 60 scoped_ptr<HttpServerProperties> http_server_properties); |
| 61 void set_cookie_store(CookieStore* cookie_store); | 61 void set_cookie_store(CookieStore* cookie_store); |
| 62 void set_transport_security_state( | 62 void set_transport_security_state( |
| 63 TransportSecurityState* transport_security_state); | 63 TransportSecurityState* transport_security_state); |
| 64 void set_http_transaction_factory( | 64 void set_http_transaction_factory( |
| 65 HttpTransactionFactory* http_transaction_factory); | 65 HttpTransactionFactory* http_transaction_factory); |
| 66 void set_job_factory(URLRequestJobFactory* job_factory); | 66 void set_job_factory(URLRequestJobFactory* job_factory); |
| 67 void set_throttler_manager(URLRequestThrottlerManager* throttler_manager); | 67 void set_throttler_manager(URLRequestThrottlerManager* throttler_manager); |
| 68 void set_http_user_agent_settings( | 68 void set_http_user_agent_settings( |
| 69 HttpUserAgentSettings* http_user_agent_settings); | 69 HttpUserAgentSettings* http_user_agent_settings); |
| 70 | 70 |
| 71 private: | 71 private: |
| 72 // We use a raw pointer to prevent reference cycles, since | 72 // We use a raw pointer to prevent reference cycles, since |
| 73 // URLRequestContextStorage can often be contained within a URLRequestContext | 73 // URLRequestContextStorage can often be contained within a URLRequestContext |
| 74 // subclass. | 74 // subclass. |
| 75 URLRequestContext* const context_; | 75 URLRequestContext* const context_; |
| 76 | 76 |
| 77 // Owned members. | 77 // Owned members. |
| 78 scoped_ptr<NetLog> net_log_; | 78 scoped_ptr<NetLog> net_log_; |
| 79 scoped_ptr<HostResolver> host_resolver_; | 79 scoped_ptr<HostResolver> host_resolver_; |
| 80 scoped_ptr<CertVerifier> cert_verifier_; | 80 scoped_ptr<CertVerifier> cert_verifier_; |
| 81 // The ServerBoundCertService must outlive the HttpTransactionFactory. | 81 // The ChannelIDService must outlive the HttpTransactionFactory. |
| 82 scoped_ptr<ServerBoundCertService> server_bound_cert_service_; | 82 scoped_ptr<ChannelIDService> channel_id_service_; |
| 83 scoped_ptr<FraudulentCertificateReporter> fraudulent_certificate_reporter_; | 83 scoped_ptr<FraudulentCertificateReporter> fraudulent_certificate_reporter_; |
| 84 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory_; | 84 scoped_ptr<HttpAuthHandlerFactory> http_auth_handler_factory_; |
| 85 scoped_ptr<ProxyService> proxy_service_; | 85 scoped_ptr<ProxyService> proxy_service_; |
| 86 // TODO(willchan): Remove refcounting on these members. | 86 // TODO(willchan): Remove refcounting on these members. |
| 87 scoped_refptr<SSLConfigService> ssl_config_service_; | 87 scoped_refptr<SSLConfigService> ssl_config_service_; |
| 88 scoped_ptr<NetworkDelegate> network_delegate_; | 88 scoped_ptr<NetworkDelegate> network_delegate_; |
| 89 scoped_ptr<HttpServerProperties> http_server_properties_; | 89 scoped_ptr<HttpServerProperties> http_server_properties_; |
| 90 scoped_ptr<HttpUserAgentSettings> http_user_agent_settings_; | 90 scoped_ptr<HttpUserAgentSettings> http_user_agent_settings_; |
| 91 scoped_refptr<CookieStore> cookie_store_; | 91 scoped_refptr<CookieStore> cookie_store_; |
| 92 scoped_ptr<TransportSecurityState> transport_security_state_; | 92 scoped_ptr<TransportSecurityState> transport_security_state_; |
| 93 | 93 |
| 94 scoped_ptr<HttpTransactionFactory> http_transaction_factory_; | 94 scoped_ptr<HttpTransactionFactory> http_transaction_factory_; |
| 95 scoped_ptr<URLRequestJobFactory> job_factory_; | 95 scoped_ptr<URLRequestJobFactory> job_factory_; |
| 96 scoped_ptr<URLRequestThrottlerManager> throttler_manager_; | 96 scoped_ptr<URLRequestThrottlerManager> throttler_manager_; |
| 97 | 97 |
| 98 DISALLOW_COPY_AND_ASSIGN(URLRequestContextStorage); | 98 DISALLOW_COPY_AND_ASSIGN(URLRequestContextStorage); |
| 99 }; | 99 }; |
| 100 | 100 |
| 101 } // namespace net | 101 } // namespace net |
| 102 | 102 |
| 103 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ | 103 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_STORAGE_H_ |
| OLD | NEW |