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

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: Refactor a bit again (DnsProbeRunner is now tied to a single DnsClient), other fixes Created 7 years, 6 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 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);

Powered by Google App Engine
This is Rietveld 408576698