Chromium Code Reviews| Index: chrome/browser/net/dns_probe_service.h |
| diff --git a/chrome/browser/net/dns_probe_service.h b/chrome/browser/net/dns_probe_service.h |
| index c40967acc10c64e35dc34b5739b580b9dcd4a150..da30b945e392650a8f7380b91ca775e00f763437 100644 |
| --- a/chrome/browser/net/dns_probe_service.h |
| +++ b/chrome/browser/net/dns_probe_service.h |
| @@ -8,9 +8,10 @@ |
| #include <vector> |
| #include "base/basictypes.h" |
| +#include "base/bind.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/time.h" |
| -#include "chrome/browser/net/dns_probe_job.h" |
| +#include "chrome/browser/net/dns_probe_runner.h" |
| #include "chrome/common/net/net_error_info.h" |
| #include "net/base/network_change_notifier.h" |
| @@ -18,24 +19,23 @@ namespace net { |
| struct DnsConfig; |
| } |
| -namespace chrome_browser_net { |
|
cbentzel
2013/06/10 17:10:00
Why did you remove the namespace?
Deprecated (see juliatuttle)
2013/06/11 01:07:34
Obsolete.
|
| - |
| -class DnsProbeService : public net::NetworkChangeNotifier::IPAddressObserver { |
| +class DnsProbeService : public net::NetworkChangeNotifier::DNSObserver { |
| public: |
| - typedef base::Callback<void(chrome_common_net::DnsProbeResult result)> |
| - CallbackType; |
| + typedef base::Callback<void(chrome_common_net::DnsProbeStatus result)> |
| + ProbeCallback; |
| DnsProbeService(); |
| virtual ~DnsProbeService(); |
| - void ProbeDns(const CallbackType& callback); |
| + void ProbeDns(const ProbeCallback& callback); |
| + void ExpireResultForTesting(); |
| + DnsProbeRunner* GetProbeRunnerForTesting(); |
| - // NetworkChangeNotifier::IPAddressObserver implementation: |
| - virtual void OnIPAddressChanged() OVERRIDE; |
| + // NetworkChangeNotifier::DNSObserver implementation: |
| + virtual void OnDNSChanged() OVERRIDE; |
|
szym
2013/06/07 19:31:28
You have it both here and in DnsProbeRunner.
In D
Deprecated (see juliatuttle)
2013/06/11 01:07:34
Done.
|
| protected: |
| - // This can be called by tests to pretend the cached reuslt has expired. |
| - void ExpireResults(); |
| + void ExpireResult(); |
| private: |
| enum State { |
| @@ -45,45 +45,26 @@ class DnsProbeService : public net::NetworkChangeNotifier::IPAddressObserver { |
| }; |
| void StartProbes(); |
| + void OnProbeComplete(DnsProbeRunner::Type type, |
| + DnsProbeRunner::Result result); |
| void OnProbesComplete(); |
| - void CallCallbacks(); |
| - |
| - void OnProbeJobComplete(DnsProbeJob* job, DnsProbeJob::Result result); |
| - chrome_common_net::DnsProbeResult EvaluateResults() const; |
| + chrome_common_net::DnsProbeStatus EvaluateResults() const; |
| void HistogramProbes() const; |
| + void CallCallbacks(); |
| - // These are expected to be overridden by tests to return mock jobs. |
| - virtual scoped_ptr<DnsProbeJob> CreateSystemProbeJob( |
| - const DnsProbeJob::CallbackType& job_callback); |
| - virtual scoped_ptr<DnsProbeJob> CreatePublicProbeJob( |
| - const DnsProbeJob::CallbackType& job_callback); |
| - |
| - scoped_ptr<DnsProbeJob> CreateProbeJob( |
| - const net::DnsConfig& dns_config, |
| - const DnsProbeJob::CallbackType& job_callback); |
| - void GetSystemDnsConfig(net::DnsConfig* config); |
| - void GetPublicDnsConfig(net::DnsConfig* config); |
| bool ResultsExpired(); |
| - scoped_ptr<DnsProbeJob> system_job_; |
| - scoped_ptr<DnsProbeJob> public_job_; |
| - DnsProbeJob::Result system_result_; |
| - DnsProbeJob::Result public_result_; |
| - std::vector<CallbackType> callbacks_; |
| + DnsProbeRunner probe_runner_; |
| State state_; |
| - chrome_common_net::DnsProbeResult result_; |
| + bool system_done_; |
| + bool public_done_; |
| + DnsProbeRunner::Result system_result_; |
| + DnsProbeRunner::Result public_result_; |
| + std::vector<ProbeCallback> pending_callbacks_; |
| + chrome_common_net::DnsProbeStatus result_; |
| base::Time probe_start_time_; |
| - // How many DNS request attempts the probe jobs will make before giving up |
| - // (Overrides the attempts field in the system DnsConfig.) |
| - const int dns_attempts_; |
| - // How many nameservers the system config has. |
| - int system_nameserver_count_; |
| - // Whether the only system nameserver is 127.0.0.1. |
| - bool system_is_localhost_; |
| DISALLOW_COPY_AND_ASSIGN(DnsProbeService); |
| }; |
| -} // namespace chrome_browser_net |
| - |
| #endif // CHROME_BROWSER_NET_DNS_PROBE_SERVICE_H_ |