Chromium Code Reviews| 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..798b4abdd3e3689683d3ab2ac0f356b811abe0e5 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::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,15 @@ void SSLBlockingPage::Observe( |
| } |
| #endif |
| } |
| + |
| +bool SSLBlockingPage::WindowsVersionSP3Lower() { |
| +#if defined(OS_WIN) |
| + const base::win::OSInfo* os_info = base::win::OSInfo::GetInstance(); |
| + if (os_info->version() == base::win::VERSION_XP) { |
|
felt
2014/07/02 18:11:58
nit: could you combine this into a single if-state
radhikabhar
2014/07/02 18:51:08
Done.
|
| + base::win::OSInfo::ServicePack service_pack = os_info->service_pack(); |
| + if (service_pack.major < 3) |
| + return true; |
| + } |
| +#endif |
| + return false; |
| +} |