OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/common/localized_error.h" | 5 #include "chrome/common/localized_error.h" |
6 | 6 |
7 #include "base/i18n/rtl.h" | 7 #include "base/i18n/rtl.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/string16.h" | 9 #include "base/string16.h" |
10 #include "base/string_number_conversions.h" | 10 #include "base/string_number_conversions.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 using WebKit::WebURLError; | 29 using WebKit::WebURLError; |
30 | 30 |
31 namespace { | 31 namespace { |
32 | 32 |
33 static const char kRedirectLoopLearnMoreUrl[] = | 33 static const char kRedirectLoopLearnMoreUrl[] = |
34 "https://www.google.com/support/chrome/bin/answer.py?answer=95626"; | 34 "https://www.google.com/support/chrome/bin/answer.py?answer=95626"; |
35 static const char kWeakDHKeyLearnMoreUrl[] = | 35 static const char kWeakDHKeyLearnMoreUrl[] = |
36 "http://sites.google.com/a/chromium.org/dev/" | 36 "http://sites.google.com/a/chromium.org/dev/" |
37 "err_ssl_weak_server_ephemeral_dh_key"; | 37 "err_ssl_weak_server_ephemeral_dh_key"; |
| 38 static const char kESETLearnMoreUrl[] = |
| 39 "http://kb.eset.com/esetkb/index?page=content&id=SOLN2588"; |
38 #if defined(OS_CHROMEOS) | 40 #if defined(OS_CHROMEOS) |
39 static const char kAppWarningLearnMoreUrl[] = | 41 static const char kAppWarningLearnMoreUrl[] = |
40 "chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html" | 42 "chrome-extension://honijodknafkokifofgiaalefdiedpko/main.html" |
41 "?answer=1721911"; | 43 "?answer=1721911"; |
42 #endif // defined(OS_CHROMEOS) | 44 #endif // defined(OS_CHROMEOS) |
43 | 45 |
44 enum NAV_SUGGESTIONS { | 46 enum NAV_SUGGESTIONS { |
45 SUGGEST_NONE = 0, | 47 SUGGEST_NONE = 0, |
46 SUGGEST_RELOAD = 1 << 0, | 48 SUGGEST_RELOAD = 1 << 0, |
47 SUGGEST_HOSTNAME = 1 << 1, | 49 SUGGEST_HOSTNAME = 1 << 1, |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT, | 245 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT, |
244 SUGGEST_NONE, | 246 SUGGEST_NONE, |
245 }, | 247 }, |
246 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY, | 248 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY, |
247 IDS_ERRORPAGES_TITLE_LOAD_FAILED, | 249 IDS_ERRORPAGES_TITLE_LOAD_FAILED, |
248 IDS_ERRORPAGES_HEADING_WEAK_SERVER_EPHEMERAL_DH_KEY, | 250 IDS_ERRORPAGES_HEADING_WEAK_SERVER_EPHEMERAL_DH_KEY, |
249 IDS_ERRORPAGES_SUMMARY_WEAK_SERVER_EPHEMERAL_DH_KEY, | 251 IDS_ERRORPAGES_SUMMARY_WEAK_SERVER_EPHEMERAL_DH_KEY, |
250 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, | 252 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, |
251 SUGGEST_LEARNMORE, | 253 SUGGEST_LEARNMORE, |
252 }, | 254 }, |
| 255 {net::ERR_ESET_ANTI_VIRUS_SSL_INTERCEPTION, |
| 256 IDS_ERRORPAGES_TITLE_LOAD_FAILED, |
| 257 IDS_ERRORPAGES_HEADING_ESET_ANTI_VIRUS_SSL_INTERCEPTION, |
| 258 IDS_ERRORPAGES_SUMMARY_ESET_ANTI_VIRUS_SSL_INTERCEPTION, |
| 259 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, |
| 260 SUGGEST_LEARNMORE, |
| 261 }, |
253 {net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, | 262 {net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, |
254 IDS_ERRORPAGES_TITLE_LOAD_FAILED, | 263 IDS_ERRORPAGES_TITLE_LOAD_FAILED, |
255 IDS_ERRORPAGES_HEADING_PINNING_FAILURE, | 264 IDS_ERRORPAGES_HEADING_PINNING_FAILURE, |
256 IDS_ERRORPAGES_SUMMARY_PINNING_FAILURE, | 265 IDS_ERRORPAGES_SUMMARY_PINNING_FAILURE, |
257 IDS_ERRORPAGES_DETAILS_PINNING_FAILURE, | 266 IDS_ERRORPAGES_DETAILS_PINNING_FAILURE, |
258 SUGGEST_NONE, | 267 SUGGEST_NONE, |
259 }, | 268 }, |
260 {net::ERR_TEMPORARILY_THROTTLED, | 269 {net::ERR_TEMPORARILY_THROTTLED, |
261 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, | 270 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, |
262 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, | 271 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 error_strings->SetString("heading", | 495 error_strings->SetString("heading", |
487 l10n_util::GetStringUTF16(options.heading_resource_id)); | 496 l10n_util::GetStringUTF16(options.heading_resource_id)); |
488 | 497 |
489 DictionaryValue* summary = new DictionaryValue; | 498 DictionaryValue* summary = new DictionaryValue; |
490 summary->SetString("msg", | 499 summary->SetString("msg", |
491 l10n_util::GetStringUTF16(options.summary_resource_id)); | 500 l10n_util::GetStringUTF16(options.summary_resource_id)); |
492 // TODO(tc): We want the unicode url and host here since they're being | 501 // TODO(tc): We want the unicode url and host here since they're being |
493 // displayed. | 502 // displayed. |
494 summary->SetString("failedUrl", failed_url_string); | 503 summary->SetString("failedUrl", failed_url_string); |
495 summary->SetString("hostName", failed_url.host()); | 504 summary->SetString("hostName", failed_url.host()); |
| 505 summary->SetString("productName", |
| 506 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); |
496 error_strings->Set("summary", summary); | 507 error_strings->Set("summary", summary); |
497 | 508 |
498 string16 details = l10n_util::GetStringUTF16(options.details_resource_id); | 509 string16 details = l10n_util::GetStringUTF16(options.details_resource_id); |
499 error_strings->SetString("details", | 510 error_strings->SetString("details", |
500 GetErrorDetailsString(error_domain, error_code, details)); | 511 GetErrorDetailsString(error_domain, error_code, details)); |
501 | 512 |
502 // Platform specific instructions for diagnosing network issues on OSX and | 513 // Platform specific instructions for diagnosing network issues on OSX and |
503 // Windows. | 514 // Windows. |
504 #if defined(OS_MACOSX) || defined(OS_WIN) | 515 #if defined(OS_MACOSX) || defined(OS_WIN) |
505 if (error_domain == net::kErrorDomain && | 516 if (error_domain == net::kErrorDomain && |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 l10n_util::GetStringUTF16( | 587 l10n_util::GetStringUTF16( |
577 IDS_NETWORK_PREDICTION_ENABLED_DESCRIPTION)); | 588 IDS_NETWORK_PREDICTION_ENABLED_DESCRIPTION)); |
578 error_strings->Set("suggestionsDisableNetworkPrediction", | 589 error_strings->Set("suggestionsDisableNetworkPrediction", |
579 suggest_network_prediction); | 590 suggest_network_prediction); |
580 } | 591 } |
581 | 592 |
582 if (options.suggestions & SUGGEST_FIREWALL_CONFIG) { | 593 if (options.suggestions & SUGGEST_FIREWALL_CONFIG) { |
583 DictionaryValue* suggest_firewall_config = new DictionaryValue; | 594 DictionaryValue* suggest_firewall_config = new DictionaryValue; |
584 suggest_firewall_config->SetString("msg", | 595 suggest_firewall_config->SetString("msg", |
585 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUGGESTION_FIREWALL_CONFIG)); | 596 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUGGESTION_FIREWALL_CONFIG)); |
| 597 suggest_firewall_config->SetString("productName", |
| 598 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); |
586 error_strings->Set("suggestionsFirewallConfig", suggest_firewall_config); | 599 error_strings->Set("suggestionsFirewallConfig", suggest_firewall_config); |
587 } | 600 } |
588 | 601 |
589 if (options.suggestions & SUGGEST_PROXY_CONFIG) { | 602 if (options.suggestions & SUGGEST_PROXY_CONFIG) { |
590 #if defined(OS_CHROMEOS) | 603 #if defined(OS_CHROMEOS) |
591 DictionaryValue* suggest_proxy_config = new DictionaryValue(); | 604 DictionaryValue* suggest_proxy_config = new DictionaryValue(); |
592 #else | 605 #else |
593 DictionaryValue* suggest_proxy_config = GetStandardMenuItemsText(); | 606 DictionaryValue* suggest_proxy_config = GetStandardMenuItemsText(); |
594 #endif // defined(OS_CHROMEOS) | 607 #endif // defined(OS_CHROMEOS) |
595 suggest_proxy_config->SetString("msg", | 608 suggest_proxy_config->SetString("msg", |
(...skipping 29 matching lines...) Expand all Loading... |
625 | 638 |
626 if (options.suggestions & SUGGEST_LEARNMORE) { | 639 if (options.suggestions & SUGGEST_LEARNMORE) { |
627 GURL learn_more_url; | 640 GURL learn_more_url; |
628 switch (options.error_code) { | 641 switch (options.error_code) { |
629 case net::ERR_TOO_MANY_REDIRECTS: | 642 case net::ERR_TOO_MANY_REDIRECTS: |
630 learn_more_url = GURL(kRedirectLoopLearnMoreUrl); | 643 learn_more_url = GURL(kRedirectLoopLearnMoreUrl); |
631 break; | 644 break; |
632 case net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY: | 645 case net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY: |
633 learn_more_url = GURL(kWeakDHKeyLearnMoreUrl); | 646 learn_more_url = GURL(kWeakDHKeyLearnMoreUrl); |
634 break; | 647 break; |
| 648 case net::ERR_ESET_ANTI_VIRUS_SSL_INTERCEPTION: |
| 649 learn_more_url = GURL(kESETLearnMoreUrl); |
| 650 break; |
635 default: | 651 default: |
636 break; | 652 break; |
637 } | 653 } |
638 | 654 |
639 if (learn_more_url.is_valid()) { | 655 if (learn_more_url.is_valid()) { |
640 // Add the language parameter to the URL. | 656 // Add the language parameter to the URL. |
641 std::string query = learn_more_url.query() + "&hl=" + locale; | 657 std::string query = learn_more_url.query() + "&hl=" + locale; |
642 GURL::Replacements repl; | 658 GURL::Replacements repl; |
643 repl.SetQueryStr(query); | 659 repl.SetQueryStr(query); |
644 learn_more_url = learn_more_url.ReplaceComponents(repl); | 660 learn_more_url = learn_more_url.ReplaceComponents(repl); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 #if defined(OS_CHROMEOS) | 731 #if defined(OS_CHROMEOS) |
716 GURL learn_more_url(kAppWarningLearnMoreUrl); | 732 GURL learn_more_url(kAppWarningLearnMoreUrl); |
717 DictionaryValue* suggest_learn_more = new DictionaryValue(); | 733 DictionaryValue* suggest_learn_more = new DictionaryValue(); |
718 suggest_learn_more->SetString("msg", | 734 suggest_learn_more->SetString("msg", |
719 l10n_util::GetStringUTF16( | 735 l10n_util::GetStringUTF16( |
720 IDS_ERRORPAGES_SUGGESTION_LEARNMORE)); | 736 IDS_ERRORPAGES_SUGGESTION_LEARNMORE)); |
721 suggest_learn_more->SetString("learnMoreUrl", learn_more_url.spec()); | 737 suggest_learn_more->SetString("learnMoreUrl", learn_more_url.spec()); |
722 error_strings->Set("suggestionsLearnMore", suggest_learn_more); | 738 error_strings->Set("suggestionsLearnMore", suggest_learn_more); |
723 #endif // defined(OS_CHROMEOS) | 739 #endif // defined(OS_CHROMEOS) |
724 } | 740 } |
OLD | NEW |