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 19f27d563c1b39e6858d91c9805f8215bf3a56a7..b47aa104c093c72af92d9e945a8e58d335d8515b 100644 |
| --- a/chrome/browser/ssl/ssl_blocking_page.cc |
| +++ b/chrome/browser/ssl/ssl_blocking_page.cc |
| @@ -240,6 +240,8 @@ void LaunchDateAndTimeSettings() { |
| const char* argument; |
| }; |
| static const ClockCommand kClockCommands[] = { |
| + // Unity |
| + { "/usr/bin/unity-control-center", "datetime" }, |
| // GNOME |
| // |
| // NOTE: On old Ubuntu, naming control panels doesn't work, so it |
| @@ -418,98 +420,120 @@ std::string SSLBlockingPage::GetHTMLContents() { |
| base::i18n::WrapStringWithLTRFormatting(&url); |
| webui::SetFontAndTextDirection(&load_time_data); |
| - // Shared values for both the overridable and non-overridable versions. |
| load_time_data.SetString("type", "SSL"); |
| - load_time_data.SetBoolean("overridable", overridable_); |
| - load_time_data.SetString( |
| - "tabTitle", l10n_util::GetStringUTF16(IDS_SSL_V2_TITLE)); |
| - load_time_data.SetString( |
| - "heading", l10n_util::GetStringUTF16(IDS_SSL_V2_HEADING)); |
| base::Time now = base::Time::NowFromSystemTime(); |
| bool bad_clock = IsErrorDueToBadClock(now, cert_error_); |
| + |
| + load_time_data.SetString("errorCode", net::ErrorToString(cert_error_)); |
| + |
| if (bad_clock) { |
| + load_time_data.SetBoolean("bad_clock", true); |
| + load_time_data.SetBoolean("overridable", false); |
| + |
| + int heading_string; |
| + if (SSLErrorClassification::IsUserClockInTheFuture(now)) { |
| + heading_string = IDS_SSL_V2_CLOCK_AHEAD_HEADING; |
| + } else { |
| + heading_string = IDS_SSL_V2_CLOCK_BEHIND_HEADING; |
| + } |
| + |
| + load_time_data.SetString("tabTitle", |
|
felt
2014/10/23 05:37:20
nit: to be consistent, can you put "tabTitle" on t
lgarron
2014/10/23 19:37:45
Sure, good catch.
|
| + l10n_util::GetStringUTF16(IDS_SSL_V2_CLOCK_TITLE)); |
| + load_time_data.SetString( |
| + "heading", |
| + l10n_util::GetStringUTF16(heading_string)); |
| load_time_data.SetString("primaryParagraph", |
| l10n_util::GetStringFUTF16( |
| - IDS_SSL_CLOCK_ERROR, |
| + IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH , |
| url, |
| - base::TimeFormatShortDate(now))); |
| + base::TimeFormatFriendlyDateAndTime(now))); |
| + |
| + load_time_data.SetString( |
| + "primaryButtonText", |
| + l10n_util::GetStringUTF16(IDS_SSL_V2_CLOCK_UPDATE_DATE_AND_TIME)); |
| + load_time_data.SetString( |
| + "openDetails", |
| + l10n_util::GetStringUTF16(IDS_SSL_NONOVERRIDABLE_RELOAD_BUTTON)); |
| + |
| + // The interstitial template expects these strings, |
| + // but we're not using them. So we send blank strings for now. |
| + load_time_data.SetString("explanationParagraph", ""); |
|
Bernhard Bauer
2014/10/23 08:42:13
Using the empty std::string() constructor instead
lgarron
2014/10/23 19:37:45
Good to know. Will do.
|
| + load_time_data.SetString("finalParagraph", ""); |
| } else { |
| + load_time_data.SetBoolean("bad_clock", false); |
| + |
| + load_time_data.SetString( |
| + "tabTitle", l10n_util::GetStringUTF16(IDS_SSL_V2_TITLE)); |
| + load_time_data.SetString( |
| + "heading", l10n_util::GetStringUTF16(IDS_SSL_V2_HEADING)); |
| load_time_data.SetString( |
| "primaryParagraph", |
| l10n_util::GetStringFUTF16(IDS_SSL_V2_PRIMARY_PARAGRAPH, url)); |
| - } |
| + load_time_data.SetString( |
| + "openDetails", |
| + l10n_util::GetStringUTF16(IDS_SSL_V2_OPEN_DETAILS_BUTTON)); |
| + load_time_data.SetString( |
| + "closeDetails", |
| + l10n_util::GetStringUTF16(IDS_SSL_V2_CLOSE_DETAILS_BUTTON)); |
| - load_time_data.SetString( |
| - "openDetails", |
| - l10n_util::GetStringUTF16(IDS_SSL_V2_OPEN_DETAILS_BUTTON)); |
| - load_time_data.SetString( |
| - "closeDetails", |
| - l10n_util::GetStringUTF16(IDS_SSL_V2_CLOSE_DETAILS_BUTTON)); |
| - load_time_data.SetString("errorCode", net::ErrorToString(cert_error_)); |
| + if (overridable_) { |
| + load_time_data.SetBoolean("overridable", true); |
| - if (overridable_) { |
| - SSLErrorInfo error_info = |
| - SSLErrorInfo::CreateError( |
| - SSLErrorInfo::NetErrorToErrorType(cert_error_), |
| - ssl_info_.cert.get(), |
| - request_url_); |
| - if (bad_clock) { |
| - load_time_data.SetString("explanationParagraph", |
| - l10n_util::GetStringFUTF16( |
| - IDS_SSL_CLOCK_ERROR_EXPLANATION, url)); |
| - } else { |
| + SSLErrorInfo error_info = |
| + SSLErrorInfo::CreateError( |
| + SSLErrorInfo::NetErrorToErrorType(cert_error_), |
| + ssl_info_.cert.get(), |
| + request_url_); |
| load_time_data.SetString("explanationParagraph", error_info.details()); |
| - } |
| - load_time_data.SetString( |
| - "primaryButtonText", |
| - l10n_util::GetStringUTF16(IDS_SSL_OVERRIDABLE_SAFETY_BUTTON)); |
| - load_time_data.SetString( |
| - "finalParagraph", |
| - l10n_util::GetStringFUTF16(IDS_SSL_OVERRIDABLE_PROCEED_PARAGRAPH, |
| - url)); |
| - } else { |
| - SSLErrorInfo::ErrorType type = |
| - SSLErrorInfo::NetErrorToErrorType(cert_error_); |
| - if (type == SSLErrorInfo::CERT_INVALID && SSLErrorClassification:: |
| - MaybeWindowsLacksSHA256Support()) { |
| load_time_data.SetString( |
| - "explanationParagraph", |
| - l10n_util::GetStringFUTF16( |
| - IDS_SSL_NONOVERRIDABLE_MORE_INVALID_SP3, url)); |
| - } else if (bad_clock) { |
| - load_time_data.SetString("explanationParagraph", |
| - l10n_util::GetStringFUTF16( |
| - IDS_SSL_CLOCK_ERROR_EXPLANATION, url)); |
| + "primaryButtonText", |
| + l10n_util::GetStringUTF16(IDS_SSL_OVERRIDABLE_SAFETY_BUTTON)); |
| + load_time_data.SetString( |
| + "finalParagraph", |
| + l10n_util::GetStringFUTF16(IDS_SSL_OVERRIDABLE_PROCEED_PARAGRAPH, |
| + 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. |
| - load_time_data.SetInteger("errorType", type); |
| - int help_string = IDS_SSL_NONOVERRIDABLE_INVALID; |
| - switch (type) { |
| - case SSLErrorInfo::CERT_REVOKED: |
| - help_string = IDS_SSL_NONOVERRIDABLE_REVOKED; |
| - break; |
| - case SSLErrorInfo::CERT_PINNED_KEY_MISSING: |
| - help_string = IDS_SSL_NONOVERRIDABLE_PINNED; |
| - break; |
| - case SSLErrorInfo::CERT_INVALID: |
| - help_string = IDS_SSL_NONOVERRIDABLE_INVALID; |
| - break; |
| - default: |
| - if (strict_enforcement_) |
| - help_string = IDS_SSL_NONOVERRIDABLE_HSTS; |
| + load_time_data.SetBoolean("overridable", false); |
| + |
| + SSLErrorInfo::ErrorType type = |
| + SSLErrorInfo::NetErrorToErrorType(cert_error_); |
| + if (type == SSLErrorInfo::CERT_INVALID && SSLErrorClassification:: |
| + MaybeWindowsLacksSHA256Support()) { |
| + 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. |
| + load_time_data.SetInteger("errorType", type); |
| + int help_string = IDS_SSL_NONOVERRIDABLE_INVALID; |
| + switch (type) { |
| + case SSLErrorInfo::CERT_REVOKED: |
| + help_string = IDS_SSL_NONOVERRIDABLE_REVOKED; |
| + break; |
| + case SSLErrorInfo::CERT_PINNED_KEY_MISSING: |
| + help_string = IDS_SSL_NONOVERRIDABLE_PINNED; |
| + break; |
| + case SSLErrorInfo::CERT_INVALID: |
| + help_string = IDS_SSL_NONOVERRIDABLE_INVALID; |
| + break; |
| + default: |
| + if (strict_enforcement_) |
| + help_string = IDS_SSL_NONOVERRIDABLE_HSTS; |
| + } |
| + load_time_data.SetString( |
| + "finalParagraph", l10n_util::GetStringFUTF16(help_string, url)); |
| } |
| - load_time_data.SetString( |
| - "finalParagraph", l10n_util::GetStringFUTF16(help_string, url)); |
| } |
| // Set debugging information at the bottom of the warning. |