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 ecf70291056c8b47e64f534c76b29a09aad97083..42aaa308433c61c9e545d3c292673c9df5e3c92b 100644 |
| --- a/chrome/browser/ssl/ssl_blocking_page.cc |
| +++ b/chrome/browser/ssl/ssl_blocking_page.cc |
| @@ -222,7 +222,8 @@ SSLBlockingPage::SSLBlockingPage(content::WebContents* web_contents, |
| const net::SSLInfo& ssl_info, |
| const GURL& request_url, |
| int options_mask, |
| - const base::Callback<void(bool)>& callback) |
| + const base::Callback<void(bool)>& callback, |
| + const base::Time& base_time) |
| : SecurityInterstitialPage(web_contents, request_url), |
| callback_(callback), |
| cert_error_(cert_error), |
| @@ -231,10 +232,11 @@ SSLBlockingPage::SSLBlockingPage(content::WebContents* web_contents, |
| danger_overridable_(true), |
| strict_enforcement_((options_mask & STRICT_ENFORCEMENT) != 0), |
| expired_but_previously_allowed_( |
| - (options_mask & EXPIRED_BUT_PREVIOUSLY_ALLOWED) != 0) { |
| - interstitial_reason_ = |
| - IsErrorDueToBadClock(base::Time::NowFromSystemTime(), cert_error_) ? |
| - SSL_REASON_BAD_CLOCK : SSL_REASON_SSL; |
| + (options_mask & EXPIRED_BUT_PREVIOUSLY_ALLOWED) != 0), |
| + time_triggered_(base_time) { |
|
lgarron
2015/02/24 02:28:37
I would make the constructor argument and the inst
fahl
2015/02/24 21:23:23
Done.
|
| + interstitial_reason_ = IsErrorDueToBadClock(time_triggered_, cert_error_) |
| + ? SSL_REASON_BAD_CLOCK |
| + : SSL_REASON_SSL; |
| // We collapse the Rappor metric name to just "ssl" so we don't leak |
| // the "overridable" bit. We skip Rappor altogether for bad clocks. |
| @@ -252,7 +254,7 @@ SSLBlockingPage::SSLBlockingPage(content::WebContents* web_contents, |
| ssl_error_classification_.reset(new SSLErrorClassification( |
| web_contents, |
| - base::Time::NowFromSystemTime(), |
| + time_triggered_, |
| request_url, |
| cert_error_, |
| *ssl_info_.cert.get())); |
| @@ -295,7 +297,6 @@ void SSLBlockingPage::PopulateInterstitialStrings( |
| load_time_data->SetString("type", "SSL"); |
| // Shared UI configuration for all SSL interstitials. |
| - base::Time now = base::Time::NowFromSystemTime(); |
| load_time_data->SetString("errorCode", net::ErrorToString(cert_error_)); |
| load_time_data->SetString( |
| "openDetails", |
| @@ -321,9 +322,10 @@ void SSLBlockingPage::PopulateInterstitialStrings( |
| // case. |
| danger_overridable_ = false; |
| - int heading_string = SSLErrorClassification::IsUserClockInTheFuture(now) ? |
| - IDS_SSL_V2_CLOCK_AHEAD_HEADING : |
| - IDS_SSL_V2_CLOCK_BEHIND_HEADING; |
| + int heading_string = |
| + SSLErrorClassification::IsUserClockInTheFuture(time_triggered_) |
| + ? IDS_SSL_V2_CLOCK_AHEAD_HEADING |
| + : IDS_SSL_V2_CLOCK_BEHIND_HEADING; |
| load_time_data->SetString( |
| "tabTitle", |
| @@ -331,11 +333,11 @@ void SSLBlockingPage::PopulateInterstitialStrings( |
| load_time_data->SetString( |
| "heading", |
| l10n_util::GetStringUTF16(heading_string)); |
| - load_time_data->SetString("primaryParagraph", |
| - l10n_util::GetStringFUTF16( |
| - IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH , |
| - url, |
| - base::TimeFormatFriendlyDateAndTime(now))); |
| + load_time_data->SetString( |
| + "primaryParagraph", |
| + l10n_util::GetStringFUTF16( |
| + IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH, url, |
| + base::TimeFormatFriendlyDateAndTime(time_triggered_))); |
| load_time_data->SetString( |
| "primaryButtonText", |
| @@ -426,10 +428,12 @@ void SSLBlockingPage::PopulateInterstitialStrings( |
| "expirationDate", |
| base::TimeFormatShortDate(ssl_info_.cert->valid_expiry())); |
| load_time_data->SetString( |
| - "currentDate", base::TimeFormatShortDate(now)); |
| + "currentDate", base::TimeFormatShortDate(time_triggered_)); |
| std::vector<std::string> encoded_chain; |
| - ssl_info_.cert->GetPEMEncodedChain(&encoded_chain); |
| - load_time_data->SetString("pem", JoinString(encoded_chain, std::string())); |
| + ssl_info_.cert->GetPEMEncodedChain( |
| + &encoded_chain); |
| + load_time_data->SetString( |
| + "pem", JoinString(encoded_chain, std::string())); |
| } |
| void SSLBlockingPage::OverrideEntry(NavigationEntry* entry) { |