| Index: chrome/browser/ssl/ssl_blocking_page.cc
|
| diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc
|
| index d0d95b8f5e744a3b3f0981549be09553bfe39b42..596a3193b8b2b0b112e0bb71bf14e5c2f26348b3 100644
|
| --- a/chrome/browser/ssl/ssl_blocking_page.cc
|
| +++ b/chrome/browser/ssl/ssl_blocking_page.cc
|
| @@ -542,7 +542,6 @@ std::string SSLBlockingPage::GetHTMLContentsV2() {
|
| load_time_data.SetString(
|
| "closeDetails",
|
| l10n_util::GetStringUTF16(IDS_SSL_V2_CLOSE_DETAILS_BUTTON));
|
| -
|
| if (overridable_ && !strict_enforcement_) { // Overridable.
|
| SSLErrorInfo error_info =
|
| SSLErrorInfo::CreateError(
|
| @@ -559,17 +558,24 @@ std::string SSLBlockingPage::GetHTMLContentsV2() {
|
| l10n_util::GetStringFUTF16(IDS_SSL_OVERRIDABLE_PROCEED_PARAGRAPH, url));
|
| } else { // Non-overridable.
|
| load_time_data.SetBoolean("overridable", false);
|
| - load_time_data.SetString(
|
| - "explanationParagraph",
|
| - l10n_util::GetStringFUTF16(IDS_SSL_NONOVERRIDABLE_MORE, url));
|
| + SSLErrorInfo::ErrorType type = SSLErrorInfo::CERT_INVALID;
|
| + // SSLErrorInfo::NetErrorToErrorType(cert_error_);
|
| + if (type == SSLErrorInfo::CERT_INVALID && WindowsVersionSP3Lower()) {
|
| + load_time_data.SetString(
|
| + "explanationParagraph",
|
| + l10n_util::GetStringFUTF16(
|
| + IDS_SSL_NONOVERRIDABLE_MORE_INVALID_SP3, url));
|
| + } else {
|
| + load_time_data.SetString("explanationParagraph",
|
| + l10n_util::GetStringFUTF16(
|
| + IDS_SSL_NONOVERRIDABLE_MORE, url));
|
| + }
|
| load_time_data.SetString(
|
| "primaryButtonText",
|
| l10n_util::GetStringUTF16(IDS_SSL_NONOVERRIDABLE_RELOAD_BUTTON));
|
| // Customize the help link depending on the specific error type.
|
| // Only mark as HSTS if none of the more specific error types apply, and use
|
| // INVALID as a fallback if no other string is appropriate.
|
| - SSLErrorInfo::ErrorType type =
|
| - SSLErrorInfo::NetErrorToErrorType(cert_error_);
|
| load_time_data.SetInteger("errorType", type);
|
| int help_string = IDS_SSL_NONOVERRIDABLE_INVALID;
|
| switch (type) {
|
| @@ -760,3 +766,14 @@ void SSLBlockingPage::Observe(
|
| }
|
| #endif
|
| }
|
| +
|
| +bool SSLBlockingPage::WindowsVersionSP3Lower() {
|
| +#if defined(OS_WIN)
|
| + const base::win::OSInfo* os_info = base::win::OSInfo::GetInstance();
|
| + base::win::OSInfo::ServicePack service_pack = os_info->service_pack();
|
| + if (os_info->version() == base::win::VERSION_XP && service_pack.major < 3) {
|
| + return true;
|
| + }
|
| +#endif
|
| + return false;
|
| +}
|
|
|