| Index: net/proxy/proxy_resolver_mojo.cc
|
| diff --git a/net/proxy/proxy_resolver_mojo.cc b/net/proxy/proxy_resolver_mojo.cc
|
| index 6150d154b5106b9f85dad033164a5aca5908ce13..3801d41a093cb723ab7f21b87f3326ca48ed3f0a 100644
|
| --- a/net/proxy/proxy_resolver_mojo.cc
|
| +++ b/net/proxy/proxy_resolver_mojo.cc
|
| @@ -31,6 +31,9 @@ class ProxyResolverMojo::Job : public interfaces::ProxyResolverRequestClient,
|
| // Cancels the job and prevents the callback from being run.
|
| void Cancel();
|
|
|
| + // Returns the LoadState of this job.
|
| + LoadState load_state() { return load_state_; }
|
| +
|
| private:
|
| // Overridden from mojo::ErrorHandler:
|
| void OnConnectionError() override;
|
| @@ -39,11 +42,13 @@ class ProxyResolverMojo::Job : public interfaces::ProxyResolverRequestClient,
|
| void ReportResult(
|
| int32_t error,
|
| mojo::Array<interfaces::ProxyServerPtr> proxy_servers) override;
|
| + void LoadStateChanged(int32_t load_state) override;
|
|
|
| ProxyResolverMojo* resolver_;
|
| const GURL url_;
|
| ProxyInfo* results_;
|
| net::CompletionCallback callback_;
|
| + LoadState load_state_ = LOAD_STATE_RESOLVING_PROXY_FOR_URL;
|
|
|
| base::ThreadChecker thread_checker_;
|
| mojo::Binding<interfaces::ProxyResolverRequestClient> binding_;
|
| @@ -100,6 +105,10 @@ void ProxyResolverMojo::Job::ReportResult(
|
| resolver_->RemoveJob(this);
|
| }
|
|
|
| +void ProxyResolverMojo::Job::LoadStateChanged(int32_t load_state) {
|
| + load_state_ = static_cast<LoadState>(load_state);
|
| +}
|
| +
|
| ProxyResolverMojo::ProxyResolverMojo(
|
| MojoProxyResolverFactory* mojo_proxy_resolver_factory,
|
| HostResolver* host_resolver)
|
| @@ -247,8 +256,9 @@ void ProxyResolverMojo::CancelRequest(RequestHandle request) {
|
| }
|
|
|
| LoadState ProxyResolverMojo::GetLoadState(RequestHandle request) const {
|
| - // TODO(amistry): Implement real LoadState.
|
| - return LOAD_STATE_RESOLVING_PROXY_FOR_URL;
|
| + Job* job = static_cast<Job*>(request);
|
| + CHECK_EQ(1u, pending_jobs_.count(job));
|
| + return job->load_state();
|
| }
|
|
|
| } // namespace net
|
|
|