diff options
Diffstat (limited to 'net/proxy/init_proxy_resolver.h')
-rw-r--r-- | net/proxy/init_proxy_resolver.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/net/proxy/init_proxy_resolver.h b/net/proxy/init_proxy_resolver.h index 6c417d5..1bdb4e8 100644 --- a/net/proxy/init_proxy_resolver.h +++ b/net/proxy/init_proxy_resolver.h @@ -9,6 +9,8 @@ #include <vector> #include "base/string16.h" +#include "base/time.h" +#include "base/timer.h" #include "googleurl/src/gurl.h" #include "net/base/completion_callback.h" #include "net/base/net_log.h" @@ -47,12 +49,17 @@ class InitProxyResolver { ~InitProxyResolver(); // Apply the PAC settings of |config| to |resolver_|. + // If |wait_delay| is positive, the initialization will pause for this + // amount of time before getting started. int Init(const ProxyConfig& config, + const base::TimeDelta wait_delay, CompletionCallback* callback); private: enum State { STATE_NONE, + STATE_WAIT, + STATE_WAIT_COMPLETE, STATE_FETCH_PAC_SCRIPT, STATE_FETCH_PAC_SCRIPT_COMPLETE, STATE_SET_PAC_SCRIPT, @@ -75,6 +82,9 @@ class InitProxyResolver { int DoLoop(int result); void DoCallback(int result); + int DoWait(); + int DoWaitComplete(int result); + int DoFetchPacScript(); int DoFetchPacScriptComplete(int result); @@ -94,6 +104,7 @@ class InitProxyResolver { // Returns the current PAC URL we are fetching/testing. const PacURL& current_pac_url() const; + void OnWaitTimerFired(); void DidCompleteInit(); void Cancel(); @@ -113,6 +124,9 @@ class InitProxyResolver { BoundNetLog net_log_; + base::TimeDelta wait_delay_; + base::OneShotTimer<InitProxyResolver> wait_timer_; + DISALLOW_COPY_AND_ASSIGN(InitProxyResolver); }; |