| Index: net/proxy/proxy_resolver_mojo.cc
|
| diff --git a/net/proxy/proxy_resolver_mojo.cc b/net/proxy/proxy_resolver_mojo.cc
|
| index f3907715edec6bb5024b7b75e9a473b88c8e2d55..d7ccfd300c75628ee109f248a50800cab8b5597f 100644
|
| --- a/net/proxy/proxy_resolver_mojo.cc
|
| +++ b/net/proxy/proxy_resolver_mojo.cc
|
| @@ -30,6 +30,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;
|
| @@ -38,11 +41,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_;
|
| @@ -99,6 +104,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)
|
| @@ -232,8 +241,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
|
|
|