| 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.
|
|
|