| Index: chrome/common/localized_error.cc
|
| diff --git a/chrome/common/localized_error.cc b/chrome/common/localized_error.cc
|
| index bba0d6935bc364da000738b353fc8c514630c834..c840947128e9bc82c04e171adb70f29bfd3faab9 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[] = {
|
| + {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,13 @@ 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) {
|
| + const LocalizedErrorMap* map =
|
| + FindErrorMapInArray(dns_probe_error_options,
|
| + arraysize(dns_probe_error_options),
|
| + error_code);
|
| + DCHECK(map);
|
| + return map;
|
| } else {
|
| NOTREACHED();
|
| return NULL;
|
| @@ -502,6 +557,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);
|
|
|