Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: chrome/common/net/net_error_info.h

Issue 13270005: Display DNS probe results. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix one last nit Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/common/localized_error.cc ('k') | chrome/common/net/net_error_info.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_COMMON_NET_NET_ERROR_INFO_H_ 5 #ifndef CHROME_COMMON_NET_NET_ERROR_INFO_H_
6 #define CHROME_COMMON_NET_NET_ERROR_INFO_H_ 6 #define CHROME_COMMON_NET_NET_ERROR_INFO_H_
7 7
8 namespace chrome_common_net { 8 namespace chrome_common_net {
9 9
10 enum DnsProbeResult { 10 // The status of a DNS probe that the NetErrorTabHelper may or may not have
11 DNS_PROBE_UNKNOWN, 11 // started.
12 DNS_PROBE_NO_INTERNET, 12 //
13 DNS_PROBE_BAD_CONFIG, 13 // The DNS_PROBE_FINISHED_* values are used in histograms, so:
14 DNS_PROBE_NXDOMAIN, 14 // 1. FINISHED_UNKNOWN must remain the first FINISHED_* value.
15 // 2. FINISHED_* values must not be rearranged relative to FINISHED_UNKNOWN.
16 // 3. New FINISHED_* values must be inserted at the end.
17 // 4. New non-FINISHED_* values must be inserted before FINISHED_UNKNOWN.
18 enum DnsProbeStatus {
19 // A DNS probe may be run for this error page. (This status is only used on
20 // the renderer side before it's received a status update from the browser.)
21 DNS_PROBE_POSSIBLE,
22
23 // A DNS probe will not be run for this error page. (This happens if the
24 // user has the "Use web service to resolve navigation errors" preference
25 // turned off, or if probes are disabled by the field trial.)
26 DNS_PROBE_NOT_RUN,
27
28 // A DNS probe has been started for this error page. The renderer should
29 // expect to receive another IPC with one of the FINISHED statuses once the
30 // probe has finished (as long as the error page is still loaded).
31 DNS_PROBE_STARTED,
32
33 // A DNS probe has finished with one of the following results:
34
35 // The probe was inconclusive.
36 DNS_PROBE_FINISHED_INCONCLUSIVE,
37
38 // There's no internet connection.
39 DNS_PROBE_FINISHED_NO_INTERNET,
40
41 // The DNS configuration is wrong, or the servers are down or broken.
42 DNS_PROBE_FINISHED_BAD_CONFIG,
43
44 // The DNS servers are working fine, so the domain must not exist.
45 DNS_PROBE_FINISHED_NXDOMAIN,
46
15 DNS_PROBE_MAX 47 DNS_PROBE_MAX
16 }; 48 };
17 49
50 // Returns a string representing |status|. It should be simply the name of
51 // the value as a string, but don't rely on that. This is presented to the
52 // user as part of the DNS error page (as the error code, at the bottom),
53 // and is also used in some verbose log messages.
54 //
55 // |status| is an int because error codes are ints by the time they get to the
56 // localized error system, and we don't want to require the caller to cast back
57 // to a probe status. The function will NOTREACHED() and return an empty
58 // string if given an int that does not match a value in DnsProbeStatus (or if
59 // it is DNS_PROBE_MAX, which is not a real status).
60 const char* DnsProbeStatusToString(int status);
61
62 // Returns true if |status| is one of the DNS_PROBE_FINISHED_* statuses.
63 bool DnsProbeStatusIsFinished(DnsProbeStatus status);
64
65 // Returns true if DNS probes are enabled (by the DnsProbe-Enable field trial),
66 // or false if they are disabled or the field trial wasn't found.
67 bool DnsProbesEnabledByFieldTrial();
68
69 // The error domain used to pass DNS probe statuses to the localized error
70 // code.
71 extern const char kDnsProbeErrorDomain[];
72
18 } // namespace chrome_common_net 73 } // namespace chrome_common_net
19 74
20 #endif // CHROME_COMMON_NET_NET_ERROR_INFO_H_ 75 #endif // CHROME_COMMON_NET_NET_ERROR_INFO_H_
OLDNEW
« no previous file with comments | « chrome/common/localized_error.cc ('k') | chrome/common/net/net_error_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698