| Index: chrome/common/net/net_error_info.h
|
| diff --git a/chrome/common/net/net_error_info.h b/chrome/common/net/net_error_info.h
|
| index 9f8d08a1baabe1b741fa69d2761ec50ff59ae667..ec9d81698a6965e8ca2737c18ecdae0b4616203a 100644
|
| --- a/chrome/common/net/net_error_info.h
|
| +++ b/chrome/common/net/net_error_info.h
|
| @@ -7,14 +7,69 @@
|
|
|
| namespace chrome_common_net {
|
|
|
| -enum DnsProbeResult {
|
| - DNS_PROBE_UNKNOWN,
|
| - DNS_PROBE_NO_INTERNET,
|
| - DNS_PROBE_BAD_CONFIG,
|
| - DNS_PROBE_NXDOMAIN,
|
| +// The status of a DNS probe that the NetErrorTabHelper may or may not have
|
| +// started.
|
| +//
|
| +// The DNS_PROBE_FINISHED_* values are used in histograms, so:
|
| +// 1. FINISHED_UNKNOWN must remain the first FINISHED_* value.
|
| +// 2. FINISHED_* values must not be rearranged relative to FINISHED_UNKNOWN.
|
| +// 3. New FINISHED_* values must be inserted at the end.
|
| +// 4. New non-FINISHED_* values must be inserted before FINISHED_UNKNOWN.
|
| +enum DnsProbeStatus {
|
| + // A DNS probe may be run for this error page. (This status is only used on
|
| + // the renderer side before it's received a status update from the browser.)
|
| + DNS_PROBE_POSSIBLE,
|
| +
|
| + // A DNS probe will not be run for this error page. (This happens if the
|
| + // user has the "Use web service to resolve navigation errors" preference
|
| + // turned off, or if probes are disabled by the field trial.)
|
| + DNS_PROBE_NOT_RUN,
|
| +
|
| + // A DNS probe has been started for this error page. The renderer should
|
| + // expect to receive another IPC with one of the FINISHED statuses once the
|
| + // probe has finished (as long as the error page is still loaded).
|
| + DNS_PROBE_STARTED,
|
| +
|
| + // A DNS probe has finished with one of the following results:
|
| +
|
| + // The probe was inconclusive.
|
| + DNS_PROBE_FINISHED_INCONCLUSIVE,
|
| +
|
| + // There's no internet connection.
|
| + DNS_PROBE_FINISHED_NO_INTERNET,
|
| +
|
| + // The DNS configuration is wrong, or the servers are down or broken.
|
| + DNS_PROBE_FINISHED_BAD_CONFIG,
|
| +
|
| + // The DNS servers are working fine, so the domain must not exist.
|
| + DNS_PROBE_FINISHED_NXDOMAIN,
|
| +
|
| DNS_PROBE_MAX
|
| };
|
|
|
| +// Returns a string representing |status|. It should be simply the name of
|
| +// the value as a string, but don't rely on that. This is presented to the
|
| +// user as part of the DNS error page (as the error code, at the bottom),
|
| +// and is also used in some verbose log messages.
|
| +//
|
| +// |status| is an int because error codes are ints by the time they get to the
|
| +// localized error system, and we don't want to require the caller to cast back
|
| +// to a probe status. The function will NOTREACHED() and return an empty
|
| +// string if given an int that does not match a value in DnsProbeStatus (or if
|
| +// it is DNS_PROBE_MAX, which is not a real status).
|
| +const char* DnsProbeStatusToString(int status);
|
| +
|
| +// Returns true if |status| is one of the DNS_PROBE_FINISHED_* statuses.
|
| +bool DnsProbeStatusIsFinished(DnsProbeStatus status);
|
| +
|
| +// Returns true if DNS probes are enabled (by the DnsProbe-Enable field trial),
|
| +// or false if they are disabled or the field trial wasn't found.
|
| +bool DnsProbesEnabledByFieldTrial();
|
| +
|
| +// The error domain used to pass DNS probe statuses to the localized error
|
| +// code.
|
| +extern const char kDnsProbeErrorDomain[];
|
| +
|
| } // namespace chrome_common_net
|
|
|
| #endif // CHROME_COMMON_NET_NET_ERROR_INFO_H_
|
|
|