Index: net/proxy/proxy_service.cc |
diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc |
index a134133de4f089c5d3300661adf89d34d2af7a34..a16cb57f2873963de134795aa5f4f9a2d2f83af7 100644 |
--- a/net/proxy/proxy_service.cc |
+++ b/net/proxy/proxy_service.cc |
@@ -16,6 +16,7 @@ |
#include "net/base/net_errors.h" |
#include "net/base/net_log.h" |
#include "net/base/net_util.h" |
+#include "net/proxy/dhcp_proxy_script_fetcher.h" |
#include "net/proxy/init_proxy_resolver.h" |
#include "net/proxy/multi_threaded_proxy_resolver.h" |
#include "net/proxy/network_delegate_error_observer.h" |
@@ -409,11 +410,13 @@ ProxyService* ProxyService::CreateUsingV8ProxyResolver( |
ProxyConfigService* proxy_config_service, |
size_t num_pac_threads, |
ProxyScriptFetcher* proxy_script_fetcher, |
+ DhcpProxyScriptFetcher* dhcp_proxy_script_fetcher, |
HostResolver* host_resolver, |
NetLog* net_log, |
NetworkDelegate* network_delegate) { |
DCHECK(proxy_config_service); |
DCHECK(proxy_script_fetcher); |
+ DCHECK(dhcp_proxy_script_fetcher); |
DCHECK(host_resolver); |
if (num_pac_threads == 0) |
@@ -433,8 +436,9 @@ ProxyService* ProxyService::CreateUsingV8ProxyResolver( |
ProxyService* proxy_service = |
new ProxyService(proxy_config_service, proxy_resolver, net_log); |
- // Configure PAC script downloads to be issued using |proxy_script_fetcher|. |
- proxy_service->SetProxyScriptFetcher(proxy_script_fetcher); |
+ // Configure fetchers to use for PAC script downloads and auto-detect. |
+ proxy_service->SetProxyScriptFetchers(proxy_script_fetcher, |
+ dhcp_proxy_script_fetcher); |
return proxy_service; |
} |
@@ -774,11 +778,13 @@ int ProxyService::DidFinishResolvingProxy(ProxyInfo* result, |
return result_code; |
} |
-void ProxyService::SetProxyScriptFetcher( |
- ProxyScriptFetcher* proxy_script_fetcher) { |
+void ProxyService::SetProxyScriptFetchers( |
+ ProxyScriptFetcher* proxy_script_fetcher, |
+ DhcpProxyScriptFetcher* dhcp_proxy_script_fetcher) { |
DCHECK(CalledOnValidThread()); |
State previous_state = ResetProxyConfig(false); |
proxy_script_fetcher_.reset(proxy_script_fetcher); |
+ dhcp_proxy_script_fetcher_.reset(dhcp_proxy_script_fetcher); |
if (previous_state != STATE_NONE) |
ApplyProxyConfigIfAvailable(); |
} |
@@ -927,7 +933,9 @@ void ProxyService::InitializeUsingLastFetchedConfig() { |
current_state_ = STATE_WAITING_FOR_INIT_PROXY_RESOLVER; |
init_proxy_resolver_.reset( |
- new InitProxyResolver(resolver_.get(), proxy_script_fetcher_.get(), |
+ new InitProxyResolver(resolver_.get(), |
+ proxy_script_fetcher_.get(), |
+ dhcp_proxy_script_fetcher_.get(), |
net_log_)); |
// If we changed networks recently, we should delay running proxy auto-config. |