diff options
Diffstat (limited to 'chromium/net/url_request/url_request_context_builder.h')
-rw-r--r-- | chromium/net/url_request/url_request_context_builder.h | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/chromium/net/url_request/url_request_context_builder.h b/chromium/net/url_request/url_request_context_builder.h index 899e74dff0e..cf7bba2c688 100644 --- a/chromium/net/url_request/url_request_context_builder.h +++ b/chromium/net/url_request/url_request_context_builder.h @@ -15,6 +15,7 @@ #define NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ #include <string> +#include <vector> #include "base/basictypes.h" #include "base/files/file_path.h" @@ -22,15 +23,17 @@ #include "base/memory/scoped_ptr.h" #include "build/build_config.h" #include "net/base/net_export.h" +#include "net/base/network_delegate.h" +#include "net/dns/host_resolver.h" +#include "net/socket/next_proto.h" namespace net { class FtpTransactionFactory; -class HostResolver; class HostMappingRules; +class HttpAuthHandlerFactory; class ProxyConfigService; class URLRequestContext; -class NetworkDelegate; class NET_EXPORT URLRequestContextBuilder { public: @@ -61,10 +64,11 @@ class NET_EXPORT URLRequestContextBuilder { // These fields mirror those in net::HttpNetworkSession::Params; bool ignore_certificate_errors; HostMappingRules* host_mapping_rules; - bool http_pipelining_enabled; uint16 testing_fixed_http_port; uint16 testing_fixed_https_port; + NextProtoVector next_protos; std::string trusted_spdy_proxy; + bool use_alternate_protocols; }; URLRequestContextBuilder(); @@ -87,10 +91,12 @@ class NET_EXPORT URLRequestContextBuilder { data_enabled_ = enable; } +#if !defined(DISABLE_FILE_SUPPORT) // Control support for file:// requests. By default it's disabled. void set_file_enabled(bool enable) { file_enabled_ = enable; } +#endif #if !defined(DISABLE_FTP_SUPPORT) // Control support for ftp:// requests. By default it's disabled. @@ -111,12 +117,24 @@ class NET_EXPORT URLRequestContextBuilder { network_delegate_.reset(delegate); } + + // Adds additional auth handler factories to be used in addition to what is + // provided in the default |HttpAuthHandlerRegistryFactory|. The auth |scheme| + // and |factory| are provided. The builder takes ownership of the factory and + // Build() must be called after this method. + void add_http_auth_handler_factory(const std::string& scheme, + net::HttpAuthHandlerFactory* factory) { + extra_http_auth_handlers_.push_back(SchemeFactory(scheme, factory)); + } + // By default HttpCache is enabled with a default constructed HttpCacheParams. void EnableHttpCache(const HttpCacheParams& params) { + http_cache_enabled_ = true; http_cache_params_ = params; } void DisableHttpCache() { + http_cache_enabled_ = false; http_cache_params_ = HttpCacheParams(); } @@ -126,15 +144,30 @@ class NET_EXPORT URLRequestContextBuilder { http_network_session_params_ = http_network_session_params; } + // Adjust |http_network_session_params_.next_protos| to enable SPDY and QUIC. + void SetSpdyAndQuicEnabled(bool spdy_enabled, + bool quic_enabled); + URLRequestContext* Build(); private: + struct SchemeFactory { + SchemeFactory(const std::string& scheme, + net::HttpAuthHandlerFactory* factory); + ~SchemeFactory(); + + std::string scheme; + net::HttpAuthHandlerFactory* factory; + }; + std::string accept_language_; std::string user_agent_; // Include support for data:// requests. bool data_enabled_; +#if !defined(DISABLE_FILE_SUPPORT) // Include support for file:// requests. bool file_enabled_; +#endif #if !defined(DISABLE_FTP_SUPPORT) // Include support for ftp:// requests. bool ftp_enabled_; @@ -146,6 +179,7 @@ class NET_EXPORT URLRequestContextBuilder { scoped_ptr<ProxyConfigService> proxy_config_service_; scoped_ptr<NetworkDelegate> network_delegate_; scoped_ptr<FtpTransactionFactory> ftp_transaction_factory_; + std::vector<SchemeFactory> extra_http_auth_handlers_; DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder); }; |