Index: net/url_request/url_request_context_builder.h |
diff --git a/net/url_request/url_request_context_builder.h b/net/url_request/url_request_context_builder.h |
index cc5448d09dae332648c330b1d6d2b63d7199687e..7744cb2b3561734b076704144121e8912f1fac49 100644 |
--- a/net/url_request/url_request_context_builder.h |
+++ b/net/url_request/url_request_context_builder.h |
@@ -107,7 +107,7 @@ class NET_EXPORT URLRequestContextBuilder { |
}; |
URLRequestContextBuilder(); |
- ~URLRequestContextBuilder(); |
+ virtual ~URLRequestContextBuilder(); |
// Sets a name for this URLRequestContext. Currently the name is used in |
// MemoryDumpProvier to annotate memory usage. The name does not need to be |
@@ -138,6 +138,9 @@ class NET_EXPORT URLRequestContextBuilder { |
std::unique_ptr<ProxyConfigService> proxy_config_service) { |
proxy_config_service_ = std::move(proxy_config_service); |
} |
+ |
+ // Sets the proxy service. If one is not provided, uses system libraries to |
+ // evaluate PAC scripts, if available (And if not, skips PAC resolution). |
void set_proxy_service(std::unique_ptr<ProxyService> proxy_service) { |
proxy_service_ = std::move(proxy_service); |
} |
@@ -326,6 +329,17 @@ class NET_EXPORT URLRequestContextBuilder { |
std::unique_ptr<URLRequestContext> Build(); |
+ protected: |
+ // Lets subclasses override ProxyService creation, using a ProxyService that |
+ // uses the URLRequestContext itself to get PAC scripts. When this method is |
+ // invoked, the URLRequestContext is not yet ready to service requests. |
+ virtual std::unique_ptr<ProxyService> CreateProxyService( |
+ std::unique_ptr<ProxyConfigService> proxy_config_service, |
+ URLRequestContext* url_request_context, |
+ HostResolver* host_resolver, |
+ NetworkDelegate* network_delegate, |
+ NetLog* net_log); |
+ |
private: |
const char* name_; |
bool enable_brotli_; |