| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_COMMON_NET_NET_ERROR_INFO_H_ | |
| 6 #define CHROME_COMMON_NET_NET_ERROR_INFO_H_ | |
| 7 | |
| 8 namespace chrome_common_net { | |
| 9 | |
| 10 // Network error page events. Used for UMA statistics. | |
| 11 enum NetworkErrorPageEvent { | |
| 12 NETWORK_ERROR_PAGE_SHOWN, // Error pages shown. | |
| 13 | |
| 14 NETWORK_ERROR_PAGE_RELOAD_BUTTON_SHOWN, // Reload buttons shown. | |
| 15 NETWORK_ERROR_PAGE_RELOAD_BUTTON_CLICKED, // Reload button clicked. | |
| 16 NETWORK_ERROR_PAGE_RELOAD_BUTTON_ERROR, // Reload button clicked | |
| 17 // -> error. | |
| 18 | |
| 19 NETWORK_ERROR_PAGE_LOAD_STALE_BUTTON_SHOWN, // Load stale buttons shown. | |
| 20 NETWORK_ERROR_PAGE_LOAD_STALE_BUTTON_CLICKED, // Load stale button clicked. | |
| 21 NETWORK_ERROR_PAGE_LOAD_STALE_BUTTON_ERROR, // Load stale buttons -> error. | |
| 22 | |
| 23 NETWORK_ERROR_PAGE_MORE_BUTTON_CLICKED, // More button clicked. | |
| 24 | |
| 25 NETWORK_ERROR_PAGE_BROWSER_INITIATED_RELOAD, // Reload from browser. | |
| 26 | |
| 27 NETWORK_ERROR_PAGE_EVENT_MAX, | |
| 28 }; | |
| 29 | |
| 30 // The status of a DNS probe that the NetErrorTabHelper may or may not have | |
| 31 // started. | |
| 32 // | |
| 33 // The DNS_PROBE_FINISHED_* values are used in histograms, so: | |
| 34 // 1. FINISHED_UNKNOWN must remain the first FINISHED_* value. | |
| 35 // 2. FINISHED_* values must not be rearranged relative to FINISHED_UNKNOWN. | |
| 36 // 3. New FINISHED_* values must be inserted at the end. | |
| 37 // 4. New non-FINISHED_* values cannot be inserted. | |
| 38 enum DnsProbeStatus { | |
| 39 // A DNS probe may be run for this error page. (This status is only used on | |
| 40 // the renderer side before it's received a status update from the browser.) | |
| 41 DNS_PROBE_POSSIBLE, | |
| 42 | |
| 43 // A DNS probe will not be run for this error page. (This happens if the | |
| 44 // user has the "Use web service to resolve navigation errors" preference | |
| 45 // turned off, or if probes are disabled by the field trial.) | |
| 46 DNS_PROBE_NOT_RUN, | |
| 47 | |
| 48 // A DNS probe has been started for this error page. The renderer should | |
| 49 // expect to receive another IPC with one of the FINISHED statuses once the | |
| 50 // probe has finished (as long as the error page is still loaded). | |
| 51 DNS_PROBE_STARTED, | |
| 52 | |
| 53 // A DNS probe has finished with one of the following results: | |
| 54 | |
| 55 // The probe was inconclusive. | |
| 56 DNS_PROBE_FINISHED_INCONCLUSIVE, | |
| 57 | |
| 58 // There's no internet connection. | |
| 59 DNS_PROBE_FINISHED_NO_INTERNET, | |
| 60 | |
| 61 // The DNS configuration is wrong, or the servers are down or broken. | |
| 62 DNS_PROBE_FINISHED_BAD_CONFIG, | |
| 63 | |
| 64 // The DNS servers are working fine, so the domain must not exist. | |
| 65 DNS_PROBE_FINISHED_NXDOMAIN, | |
| 66 | |
| 67 DNS_PROBE_MAX | |
| 68 }; | |
| 69 | |
| 70 // Returns a string representing |status|. It should be simply the name of | |
| 71 // the value as a string, but don't rely on that. This is presented to the | |
| 72 // user as part of the DNS error page (as the error code, at the bottom), | |
| 73 // and is also used in some verbose log messages. | |
| 74 // | |
| 75 // |status| is an int because error codes are ints by the time they get to the | |
| 76 // localized error system, and we don't want to require the caller to cast back | |
| 77 // to a probe status. The function will NOTREACHED() and return an empty | |
| 78 // string if given an int that does not match a value in DnsProbeStatus (or if | |
| 79 // it is DNS_PROBE_MAX, which is not a real status). | |
| 80 const char* DnsProbeStatusToString(int status); | |
| 81 | |
| 82 // Returns true if |status| is one of the DNS_PROBE_FINISHED_* statuses. | |
| 83 bool DnsProbeStatusIsFinished(DnsProbeStatus status); | |
| 84 | |
| 85 // Record specific error page events. | |
| 86 void RecordEvent(NetworkErrorPageEvent event); | |
| 87 | |
| 88 // The error domain used to pass DNS probe statuses to the localized error | |
| 89 // code. | |
| 90 extern const char kDnsProbeErrorDomain[]; | |
| 91 | |
| 92 } // namespace chrome_common_net | |
| 93 | |
| 94 #endif // CHROME_COMMON_NET_NET_ERROR_INFO_H_ | |
| OLD | NEW |