Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / net / url_request / url_request_context.h
index b23646f..4e58739 100644 (file)
 
 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;
@@ -57,9 +59,13 @@ class NET_EXPORT URLRequestContext
   // 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_;
@@ -85,13 +91,13 @@ class NET_EXPORT URLRequestContext
     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 {
@@ -152,23 +158,19 @@ class NET_EXPORT URLRequestContext
   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) {
@@ -183,12 +185,23 @@ class NET_EXPORT URLRequestContext
     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
@@ -212,7 +225,7 @@ class NET_EXPORT URLRequestContext
   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_;
@@ -222,9 +235,11 @@ class NET_EXPORT URLRequestContext
   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