| Index: chrome/renderer/localized_error.cc
|
| ===================================================================
|
| --- chrome/renderer/localized_error.cc (revision 65404)
|
| +++ chrome/renderer/localized_error.cc (working copy)
|
| @@ -36,7 +36,9 @@
|
| SUGGEST_NONE = 0,
|
| SUGGEST_RELOAD = 1 << 0,
|
| SUGGEST_HOSTNAME = 1 << 1,
|
| - SUGGEST_LEARNMORE = 1 << 2,
|
| + SUGGEST_FIREWALL_CONFIG = 1 << 2,
|
| + SUGGEST_PROXY_CONFIG = 1 << 3,
|
| + SUGGEST_LEARNMORE = 1 << 4,
|
| };
|
|
|
| struct LocalizedErrorMap {
|
| @@ -77,19 +79,26 @@
|
| IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
|
| SUGGEST_RELOAD,
|
| },
|
| + {net::ERR_ADDRESS_UNREACHABLE,
|
| + IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
|
| + IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
|
| + IDS_ERRORPAGES_SUMMARY_ADDRESS_UNREACHABLE,
|
| + IDS_ERRORPAGES_DETAILS_ADDRESS_UNREACHABLE,
|
| + SUGGEST_RELOAD | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG,
|
| + },
|
| {net::ERR_NETWORK_ACCESS_DENIED,
|
| IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
|
| IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED,
|
| IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED,
|
| IDS_ERRORPAGES_DETAILS_NETWORK_ACCESS_DENIED,
|
| - SUGGEST_NONE,
|
| + SUGGEST_FIREWALL_CONFIG,
|
| },
|
| {net::ERR_PROXY_CONNECTION_FAILED,
|
| IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
|
| IDS_ERRORPAGES_HEADING_PROXY_CONNECTION_FAILED,
|
| IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED,
|
| IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED,
|
| - SUGGEST_NONE,
|
| + SUGGEST_PROXY_CONFIG,
|
| },
|
| {net::ERR_INTERNET_DISCONNECTED,
|
| IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
|
| @@ -348,17 +357,6 @@
|
| error_strings->SetString("details",
|
| GetErrorDetailsString(error_domain, error_code, details));
|
|
|
| - // Any special case processing that needs to happen for particular
|
| - // errors (hack).
|
| - if (error_domain == net::kErrorDomain &&
|
| - error_code == net::ERR_PROXY_CONNECTION_FAILED) {
|
| - // Suffix the platform dependent portion of the summary section.
|
| - summary->SetString("msg",
|
| - l10n_util::GetStringFUTF16(options.summary_resource_id,
|
| - l10n_util::GetStringUTF16(
|
| - IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED_PLATFORM)));
|
| - }
|
| -
|
| // Platform specific instructions for diagnosing network issues on OSX and
|
| // Windows.
|
| #if defined(OS_MACOSX) || defined(OS_WIN)
|
| @@ -417,6 +415,29 @@
|
| }
|
| }
|
|
|
| + if (options.suggestions & SUGGEST_FIREWALL_CONFIG) {
|
| + DictionaryValue* suggest_firewall_config = new DictionaryValue;
|
| + suggest_firewall_config->SetString("msg",
|
| + l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUGGESTION_FIREWALL_CONFIG));
|
| + suggest_firewall_config->SetString("productName",
|
| + l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
|
| + error_strings->Set("suggestionsFirewallConfig", suggest_firewall_config);
|
| + }
|
| +
|
| + if (options.suggestions & SUGGEST_PROXY_CONFIG) {
|
| + DictionaryValue* suggest_proxy_config = new DictionaryValue;
|
| + suggest_proxy_config->SetString("msg",
|
| + l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUGGESTION_PROXY_CONFIG));
|
| + error_strings->Set("suggestionsProxyConfig", suggest_proxy_config);
|
| +
|
| + DictionaryValue* suggest_proxy_disable = new DictionaryValue;
|
| + suggest_proxy_disable->SetString("msg",
|
| + l10n_util::GetStringFUTF16(IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE,
|
| + l10n_util::GetStringUTF16(
|
| + IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM)));
|
| + error_strings->Set("suggestionsProxyDisable", suggest_proxy_disable);
|
| + }
|
| +
|
| if (options.suggestions & SUGGEST_LEARNMORE) {
|
| GURL learn_more_url;
|
| switch (options.error_code) {
|
|
|