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

Unified Diff: chrome/common/localized_error.cc

Issue 13270005: Display DNS probe results. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/localized_error.cc
diff --git a/chrome/common/localized_error.cc b/chrome/common/localized_error.cc
index 63f51aa69edf495a7b300c4d214cd3327e5683c1..3d27224b585c88ae085e98248f2837d892a33b78 100644
--- a/chrome/common/localized_error.cc
+++ b/chrome/common/localized_error.cc
@@ -14,6 +14,7 @@
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/extension_icon_set.h"
#include "chrome/common/extensions/extension_set.h"
+#include "chrome/common/net/net_error_info.h"
#include "googleurl/src/gurl.h"
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
@@ -350,6 +351,56 @@ const LocalizedErrorMap http_error_options[] = {
},
};
+const LocalizedErrorMap dns_probe_error_options[] = {
+ {chrome_common_net::DNS_PROBE_ERR_POSSIBLE,
+ IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
+ IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
+ IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING,
+ IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING,
+ SUGGEST_NONE,
+ },
+ {chrome_common_net::DNS_PROBE_ERR_RUNNING,
+ IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
+ IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
+ IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING,
+ IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING,
+ SUGGEST_NONE,
+ },
+ {chrome_common_net::DNS_PROBE_ERR_FINISHED +
+ chrome_common_net::DNS_PROBE_UNKNOWN,
+ IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
+ IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
+ IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
+ IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
+ SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_DNS_CONFIG |
+ SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG,
+ },
+ {chrome_common_net::DNS_PROBE_ERR_FINISHED +
+ chrome_common_net::DNS_PROBE_NO_INTERNET,
+ IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
+ IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
+ IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED,
+ IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED,
+ SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG,
+ },
+ {chrome_common_net::DNS_PROBE_ERR_FINISHED +
+ chrome_common_net::DNS_PROBE_BAD_CONFIG,
+ IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
+ IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
+ IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
+ IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
+ SUGGEST_RELOAD | SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG,
+ },
+ {chrome_common_net::DNS_PROBE_ERR_FINISHED +
+ chrome_common_net::DNS_PROBE_NXDOMAIN,
+ IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
+ IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
+ IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
+ IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
+ SUGGEST_RELOAD | SUGGEST_HOSTNAME,
+ },
+};
+
const char* HttpErrorToString(int status_code) {
switch (status_code) {
case 403:
@@ -386,6 +437,9 @@ string16 GetErrorDetailsString(const std::string& error_domain,
} else if (error_domain == LocalizedError::kHttpErrorDomain) {
error_page_template = IDS_ERRORPAGES_HTTP_DETAILS_TEMPLATE;
error_string = HttpErrorToString(error_code);
+ } else if (error_domain == chrome_common_net::kDnsProbeErrorDomain) {
+ error_page_template = IDS_ERRORPAGES_DETAILS_TEMPLATE;
+ error_string = chrome_common_net::DnsProbeErrorToString(error_code);
} else {
NOTREACHED();
return string16();
@@ -417,6 +471,10 @@ const LocalizedErrorMap* LookupErrorMap(const std::string& error_domain,
return FindErrorMapInArray(http_error_options,
arraysize(http_error_options),
error_code);
+ } else if (error_domain == chrome_common_net::kDnsProbeErrorDomain) {
+ return FindErrorMapInArray(dns_probe_error_options,
+ arraysize(dns_probe_error_options),
+ error_code);
} else {
NOTREACHED();
return NULL;

Powered by Google App Engine
This is Rietveld 408576698