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); |
}; |