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_ |