1 // Copyright 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 #include "components/error_page/common/net_error_info.h"
6 
7 #include "base/logging.h"
8 #include "base/metrics/histogram_macros.h"
9 
10 namespace error_page {
11 
DnsProbeStatusToString(int status)12 const char* DnsProbeStatusToString(int status) {
13   switch (status) {
14     case DNS_PROBE_POSSIBLE:
15       return "DNS_PROBE_POSSIBLE";
16     case DNS_PROBE_NOT_RUN:
17       return "DNS_PROBE_NOT_RUN";
18     case DNS_PROBE_STARTED:
19       return "DNS_PROBE_STARTED";
20     case DNS_PROBE_FINISHED_INCONCLUSIVE:
21       return "DNS_PROBE_FINISHED_INCONCLUSIVE";
22     case DNS_PROBE_FINISHED_NO_INTERNET:
23       return "DNS_PROBE_FINISHED_NO_INTERNET";
24     case DNS_PROBE_FINISHED_BAD_CONFIG:
25       return "DNS_PROBE_FINISHED_BAD_CONFIG";
26     case DNS_PROBE_FINISHED_NXDOMAIN:
27       return "DNS_PROBE_FINISHED_NXDOMAIN";
28     case DNS_PROBE_FINISHED_BAD_SECURE_CONFIG:
29       return "DNS_PROBE_FINISHED_BAD_SECURE_CONFIG";
30     default:
31       NOTREACHED();
32       return "";
33   }
34 }
35 
DnsProbeStatusIsFinished(DnsProbeStatus status)36 bool DnsProbeStatusIsFinished(DnsProbeStatus status) {
37   return status >= DNS_PROBE_FINISHED_INCONCLUSIVE && status < DNS_PROBE_MAX;
38 }
39 
RecordEvent(NetworkErrorPageEvent event)40 void RecordEvent(NetworkErrorPageEvent event) {
41   UMA_HISTOGRAM_ENUMERATION("Net.ErrorPageCounts", event,
42                             NETWORK_ERROR_PAGE_EVENT_MAX);
43 }
44 
45 }  // namespace error_page
46