Index: chrome/browser/profiles/profile_io_data.h |
diff --git a/chrome/browser/profiles/profile_io_data.h b/chrome/browser/profiles/profile_io_data.h |
index 05c75992690fc7fd5e687b0660e5ea631c4597e1..0bcfec73f87108c4b37d65c86fe581c13e44a7ea 100644 |
--- a/chrome/browser/profiles/profile_io_data.h |
+++ b/chrome/browser/profiles/profile_io_data.h |
@@ -77,6 +77,7 @@ class CertVerifier; |
class ChannelIDService; |
class ClientCertStore; |
class CookieStore; |
+class HttpServerProperties; |
class HttpTransactionFactory; |
class ProxyConfigService; |
class ReportingService; |
@@ -410,6 +411,11 @@ class ProfileIOData { |
void SetCookieSettingsForTesting( |
content_settings::CookieSettings* cookie_settings); |
+ protected: |
+ // May only be called during construction of the main URLRequestContext. Once |
+ // InitializeInternal() has been called, may no longer be called. |
+ ProfileParams* profile_params() const { return profile_params_.get(); } |
+ |
private: |
class ResourceContext : public content::ResourceContext { |
public: |
@@ -491,6 +497,30 @@ class ProfileIOData { |
net::URLRequestContext* app_context, |
const StoragePartitionDescriptor& partition_descriptor) const = 0; |
+ // Methods used to allow subclasses to manage certain components of the main |
+ // URLRequestContext. |
+ |
+ // By default, returns an in-memory HttpServicerProperties object. |
+ virtual std::unique_ptr<net::HttpServerProperties> GetHttpServerProperties() |
+ const; |
+ |
+ // Gets the cookie store and channel ID service. One method is used to get |
+ // them both because they're closely intertwined, and a pair of them must |
+ // always be used together. By default, creates two in-memory stores. The |
+ // caller will invoke SetChannelIDServiceID on the CookieStore, so implemented |
+ // don't need to do that. |
+ virtual void GetCookieAndChannelIDStores( |
+ std::unique_ptr<net::CookieStore>* cookie_store, |
+ std::unique_ptr<net::ChannelIDService>* channel_id_service) const; |
+ |
+ // Returns true if the URLRequestContext should use a shared NetworkQuality estimator, and false if it should use none at all. Defaults to false. |
+ // |
+ // TODO(mmenke): should we just hook this up to all URLRequestContexts? |
+ virtual bool UseNetworkQualityEstimator() const; |
+ |
+ // Gets the backend factory for the HttpCache. By default, returns a factory for an in-memory cache. |
+ virtual std::unique_ptr<net::HttpCache::BackendFactory> GetCacheBackendFactory() const; |
+ |
// The order *DOES* matter for the majority of these member variables, so |
// don't move them around unless you know what you're doing! |
// General rules: |