Index: chrome/common/net/net_error_info.cc |
diff --git a/chrome/common/net/net_error_info.cc b/chrome/common/net/net_error_info.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a7d514bc661d4e8527993c94b51f40115592af68 |
--- /dev/null |
+++ b/chrome/common/net/net_error_info.cc |
@@ -0,0 +1,48 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/logging.h" |
+#include "base/metrics/field_trial.h" |
+#include "chrome/common/net/net_error_info.h" |
+ |
+namespace chrome_common_net { |
+ |
+const char kDnsProbeErrorDomain[] = "dnsprobe"; |
+ |
+const char* DnsProbeStatusToString(int status) { |
+ switch (status) { |
+ case DNS_PROBE_POSSIBLE: |
+ return "DNS_PROBE_POSSIBLE"; |
+ case DNS_PROBE_NOT_RUN: |
+ return "DNS_PROBE_NOT_RUN"; |
+ case DNS_PROBE_STARTED: |
+ return "DNS_PROBE_STARTED"; |
+ case DNS_PROBE_FINISHED_UNKNOWN: |
+ return "DNS_PROBE_FINISHED_UNKNOWN"; |
+ case DNS_PROBE_FINISHED_NO_INTERNET: |
+ return "DNS_PROBE_FINISHED_NO_INTERNET"; |
+ case DNS_PROBE_FINISHED_BAD_CONFIG: |
+ return "DNS_PROBE_FINISHED_BAD_CONFIG"; |
+ case DNS_PROBE_FINISHED_NXDOMAIN: |
+ return "DNS_PROBE_FINISHED_NXDOMAIN"; |
+ default: |
+ NOTREACHED(); |
+ return ""; |
+ } |
+} |
+ |
+bool DnsProbeStatusIsFinished(DnsProbeStatus status) { |
+ return status >= DNS_PROBE_FINISHED_UNKNOWN && |
+ status < DNS_PROBE_MAX; |
+} |
+ |
+bool DnsProbesEnabledByFieldTrial() { |
+ const char kDnsProbeFieldTrialName[] = "DnsProbe-Enable"; |
+ const char kDnsProbeFieldTrialEnableGroupName[] = "enable"; |
+ |
+ return base::FieldTrialList::FindFullName(kDnsProbeFieldTrialName) == |
+ kDnsProbeFieldTrialEnableGroupName; |
+} |
+ |
+} // namespace chrome_common_net |