| Index: net/proxy/proxy_script_decider.h
|
| diff --git a/net/proxy/proxy_script_decider.h b/net/proxy/proxy_script_decider.h
|
| index 9a77938ec8e4aef834281184e16d1d55913b9b3c..a5d8d7fdb77656a56964fa7e97645d37ff5fee9e 100644
|
| --- a/net/proxy/proxy_script_decider.h
|
| +++ b/net/proxy/proxy_script_decider.h
|
| @@ -12,9 +12,12 @@
|
| #include "base/strings/string16.h"
|
| #include "base/time/time.h"
|
| #include "base/timer/timer.h"
|
| +#include "net/base/address_list.h"
|
| #include "net/base/completion_callback.h"
|
| #include "net/base/net_export.h"
|
| #include "net/base/net_log.h"
|
| +#include "net/dns/host_resolver.h"
|
| +#include "net/dns/single_request_host_resolver.h"
|
| #include "net/proxy/proxy_config.h"
|
| #include "net/proxy/proxy_resolver.h"
|
| #include "url/gurl.h"
|
| @@ -103,12 +106,15 @@ class NET_EXPORT_PRIVATE ProxyScriptDecider {
|
|
|
| enum State {
|
| STATE_NONE,
|
| + STATE_QUICK_CHECK,
|
| + STATE_QUICK_CHECK_COMPLETE,
|
| STATE_WAIT,
|
| STATE_WAIT_COMPLETE,
|
| STATE_FETCH_PAC_SCRIPT,
|
| STATE_FETCH_PAC_SCRIPT_COMPLETE,
|
| STATE_VERIFY_PAC_SCRIPT,
|
| STATE_VERIFY_PAC_SCRIPT_COMPLETE,
|
| + STATE_FAILED,
|
| };
|
|
|
| // Returns ordered list of PAC urls to try for |config|.
|
| @@ -118,6 +124,10 @@ class NET_EXPORT_PRIVATE ProxyScriptDecider {
|
| int DoLoop(int result);
|
| void DoCallback(int result);
|
|
|
| + int DoQuickCheck();
|
| + int DoQuickCheckComplete();
|
| + void OnQuickCheckComplete(base::Time started, int result);
|
| +
|
| int DoWait();
|
| int DoWaitComplete(int result);
|
|
|
| @@ -175,6 +185,10 @@ class NET_EXPORT_PRIVATE ProxyScriptDecider {
|
| ProxyConfig effective_config_;
|
| scoped_refptr<ProxyResolverScriptData> script_data_;
|
|
|
| + scoped_ptr<HostResolver> underlying_host_resolver_;
|
| + SingleRequestHostResolver host_resolver_;
|
| + AddressList wpad_addrs_;
|
| + base::OneShotTimer<ProxyScriptDecider> quick_check_timer_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ProxyScriptDecider);
|
| };
|
|
|