namespace net {
class CertVerifier;
+class ChannelIDService;
class CookieStore;
+class CTVerifier;
class FraudulentCertificateReporter;
class HostResolver;
class HttpAuthHandlerFactory;
class HttpTransactionFactory;
class HttpUserAgentSettings;
class NetworkDelegate;
-class ServerBoundCertService;
+class SdchManager;
class ProxyService;
class URLRequest;
class URLRequestJobFactory;
// May return NULL if this context doesn't have an associated network session.
const HttpNetworkSession::Params* GetNetworkSessionParams() const;
+ // Creates a URLRequest. |cookie_store| optionally specifies a cookie store
+ // to be used rather than the one represented by the context, or NULL
+ // otherwise.
scoped_ptr<URLRequest> CreateRequest(const GURL& url,
RequestPriority priority,
- URLRequest::Delegate* delegate) const;
+ URLRequest::Delegate* delegate,
+ CookieStore* cookie_store) const;
NetLog* net_log() const {
return net_log_;
cert_verifier_ = cert_verifier;
}
- ServerBoundCertService* server_bound_cert_service() const {
- return server_bound_cert_service_;
+ ChannelIDService* channel_id_service() const {
+ return channel_id_service_;
}
- void set_server_bound_cert_service(
- ServerBoundCertService* server_bound_cert_service) {
- server_bound_cert_service_ = server_bound_cert_service;
+ void set_channel_id_service(
+ ChannelIDService* channel_id_service) {
+ channel_id_service_ = channel_id_service;
}
FraudulentCertificateReporter* fraudulent_certificate_reporter() const {
void set_cookie_store(CookieStore* cookie_store);
TransportSecurityState* transport_security_state() const {
- return transport_security_state_;
+ return transport_security_state_;
}
void set_transport_security_state(
TransportSecurityState* state) {
transport_security_state_ = state;
}
- // ---------------------------------------------------------------------------
- // Legacy accessors that delegate to http_user_agent_settings_.
- // TODO(pauljensen): Remove after all clients are updated to directly access
- // http_user_agent_settings_.
- // Gets the value of 'Accept-Language' header field.
- std::string GetAcceptLanguage() const;
- // Gets the UA string to use for the given URL. Pass an invalid URL (such as
- // GURL()) to get the default UA string.
- std::string GetUserAgent(const GURL& url) const;
- // ---------------------------------------------------------------------------
+ CTVerifier* cert_transparency_verifier() const {
+ return cert_transparency_verifier_;
+ }
+ void set_cert_transparency_verifier(CTVerifier* verifier) {
+ cert_transparency_verifier_ = verifier;
+ }
const URLRequestJobFactory* job_factory() const { return job_factory_; }
void set_job_factory(const URLRequestJobFactory* job_factory) {
throttler_manager_ = throttler_manager;
}
+ // May be NULL.
+ SdchManager* sdch_manager() const {
+ return sdch_manager_;
+ }
+ void set_sdch_manager(SdchManager* sdch_manager) {
+ sdch_manager_ = sdch_manager;
+ }
+
// Gets the URLRequest objects that hold a reference to this
// URLRequestContext.
std::set<const URLRequest*>* url_requests() const {
return url_requests_.get();
}
+ // CHECKs that no URLRequests using this context remain. Subclasses should
+ // additionally call AssertNoURLRequests() within their own destructor,
+ // prior to implicit destruction of subclass-owned state.
void AssertNoURLRequests() const;
// Get the underlying |HttpUserAgentSettings| implementation that provides
NetLog* net_log_;
HostResolver* host_resolver_;
CertVerifier* cert_verifier_;
- ServerBoundCertService* server_bound_cert_service_;
+ ChannelIDService* channel_id_service_;
FraudulentCertificateReporter* fraudulent_certificate_reporter_;
HttpAuthHandlerFactory* http_auth_handler_factory_;
ProxyService* proxy_service_;
HttpUserAgentSettings* http_user_agent_settings_;
scoped_refptr<CookieStore> cookie_store_;
TransportSecurityState* transport_security_state_;
+ CTVerifier* cert_transparency_verifier_;
HttpTransactionFactory* http_transaction_factory_;
const URLRequestJobFactory* job_factory_;
URLRequestThrottlerManager* throttler_manager_;
+ SdchManager* sdch_manager_;
// ---------------------------------------------------------------------------
// Important: When adding any new members below, consider whether they need to