Chromium Code Reviews| Index: net/proxy/proxy_resolver_v8_tracing.cc |
| diff --git a/net/proxy/proxy_resolver_v8_tracing.cc b/net/proxy/proxy_resolver_v8_tracing.cc |
| index c498f749bb6e8163a2dab165a7cf88c9dea0ddee..e94db808326ad9545e888da2e89c337070f0555c 100644 |
| --- a/net/proxy/proxy_resolver_v8_tracing.cc |
| +++ b/net/proxy/proxy_resolver_v8_tracing.cc |
| @@ -707,6 +707,10 @@ void ProxyResolverV8Tracing::Job::DoDnsOperation() { |
| } else { |
| DCHECK(dns_request); |
| pending_dns_ = dns_request; |
| + if (!parent_->on_load_state_changed_.is_null()) { |
| + parent_->on_load_state_changed_.Run( |
| + this, LOAD_STATE_RESOLVING_HOST_IN_PROXY_SCRIPT); |
| + } |
| // OnDnsOperationComplete() will be called by host resolver on completion. |
| } |
| @@ -732,6 +736,11 @@ void ProxyResolverV8Tracing::Job::OnDnsOperationComplete(int result) { |
| pending_dns_addresses_); |
| pending_dns_ = NULL; |
| + if (!parent_->on_load_state_changed_.is_null()) { |
| + parent_->on_load_state_changed_.Run(this, |
| + LOAD_STATE_RESOLVING_PROXY_FOR_URL); |
|
eroman
2015/02/25 00:08:06
Note that OnDnsOperationComplete() is called in re
Sam McNally
2015/02/26 04:00:01
Added a check for pending_dns_completed_synchronou
|
| + } |
| + |
| if (blocking_dns_) { |
| event_.Signal(); |
| return; |
| @@ -934,11 +943,23 @@ ProxyResolverV8Tracing::ProxyResolverV8Tracing( |
| HostResolver* host_resolver, |
| ProxyResolverErrorObserver* error_observer, |
| NetLog* net_log) |
| + : ProxyResolverV8Tracing(host_resolver, |
| + error_observer, |
| + net_log, |
| + LoadStateChangedCallback<RequestHandle>()) { |
| +} |
| + |
| +ProxyResolverV8Tracing::ProxyResolverV8Tracing( |
| + HostResolver* host_resolver, |
| + ProxyResolverErrorObserver* error_observer, |
| + NetLog* net_log, |
| + const LoadStateChangedCallback<RequestHandle>& on_load_state_changed) |
| : ProxyResolver(true /*expects_pac_bytes*/), |
| host_resolver_(host_resolver), |
| error_observer_(error_observer), |
| net_log_(net_log), |
| - num_outstanding_callbacks_(0) { |
| + num_outstanding_callbacks_(0), |
| + on_load_state_changed_(on_load_state_changed) { |
| DCHECK(host_resolver); |
| // Start up the thread. |
| thread_.reset(new base::Thread("Proxy resolver")); |