Chromium Code Reviews| Index: chrome/common/localized_error.cc |
| diff --git a/chrome/common/localized_error.cc b/chrome/common/localized_error.cc |
| index 30eaa27e8ae9b5180de367d4687f034c1a5dfd0a..08d81a80217d007361f5e31db96edd6be0ecd844 100644 |
| --- a/chrome/common/localized_error.cc |
| +++ b/chrome/common/localized_error.cc |
| @@ -15,6 +15,7 @@ |
| #include "chrome/common/extensions/extension_icon_set.h" |
| #include "chrome/common/extensions/extension_set.h" |
| #include "chrome/common/extensions/manifest_handlers/icons_handler.h" |
| +#include "chrome/common/net/net_error_info.h" |
| #include "googleurl/src/gurl.h" |
| #include "grit/chromium_strings.h" |
| #include "grit/generated_resources.h" |
| @@ -369,6 +370,53 @@ const LocalizedErrorMap http_error_options[] = { |
| }, |
| }; |
| +const LocalizedErrorMap dns_probe_error_options[] = { |
|
mmenke
2013/06/12 19:17:12
Hmm...Naming scheme used for these is wrong, for c
Deprecated (see juliatuttle)
2013/06/13 14:37:04
It is, but so is the one used for the other const
mmenke
2013/06/13 15:00:12
Sorry, my comment about fixing that meant fixing i
|
| + {chrome_common_net::DNS_PROBE_POSSIBLE, |
| + IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, |
| + IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, |
| + IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING, |
| + IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING, |
| + SUGGEST_RELOAD, |
| + }, |
| + |
| + // DNS_PROBE_NOT_RUN is not here; NetErrorHelper will restore the original |
| + // error, which might be one of several DNS-related errors. |
| + |
| + {chrome_common_net::DNS_PROBE_STARTED, |
| + IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, |
| + IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, |
| + IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING, |
| + IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING, |
| + // Include SUGGEST_RELOAD so the More button doesn't jump when we update. |
| + SUGGEST_RELOAD, |
| + }, |
| + |
| + // DNS_PROBE_FINISHED_UNKNOWN is not here; NetErrorHelper will restore the |
| + // original error, which might be one of several DNS-related errors. |
| + |
| + {chrome_common_net::DNS_PROBE_FINISHED_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_FINISHED_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_FINISHED_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, |
| + }, |
| +}; |
| + |
| const LocalizedErrorMap* FindErrorMapInArray(const LocalizedErrorMap* maps, |
| size_t num_maps, |
| int error_code) { |
| @@ -393,6 +441,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); |
|
mmenke
2013/06/12 19:17:12
We should DCHECK that this succeeds.
Deprecated (see juliatuttle)
2013/06/13 14:37:04
Done.
|
| } else { |
| NOTREACHED(); |
| return NULL; |
| @@ -502,6 +554,10 @@ void LocalizedError::GetStrings(const WebKit::WebURLError& error, |
| // Remove the leading "net::" from the returned string. |
| RemoveChars(ascii_error_string, "net:", &ascii_error_string); |
| error_string = ASCIIToUTF16(ascii_error_string); |
| + } else if (error_domain == chrome_common_net::kDnsProbeErrorDomain) { |
| + std::string ascii_error_string = |
| + chrome_common_net::DnsProbeStatusToString(error_code); |
| + error_string = ASCIIToUTF16(ascii_error_string); |
| } else { |
| DCHECK_EQ(LocalizedError::kHttpErrorDomain, error_domain); |
| error_string = base::IntToString16(error_code); |