Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Unified Diff: chrome/browser/ssl/ssl_blocking_page.cc

Issue 940543003: added clock interstitial to chrome://interstitials (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add the clock interstitial to chrome://interstitials. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..7a1e293e9d22a852cfaff8a7fa125d299aadfecb 100644
--- a/chrome/browser/ssl/ssl_blocking_page.cc
+++ b/chrome/browser/ssl/ssl_blocking_page.cc
@@ -205,6 +205,7 @@ bool IsErrorDueToBadClock(const base::Time& now, int error) {
SSLErrorInfo::CERT_DATE_INVALID) {
return false;
}
+
lgarron 2015/02/20 22:12:46 Nit: Remove all blank lines until the diff is sema
return SSLErrorClassification::IsUserClockInThePast(now) ||
SSLErrorClassification::IsUserClockInTheFuture(now);
}
@@ -222,7 +223,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 +233,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),
+ base_time_(base_time) {
+ interstitial_reason_ = IsErrorDueToBadClock(base_time_, 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.
@@ -250,12 +253,9 @@ SSLBlockingPage::SSLBlockingPage(content::WebContents* web_contents,
metrics_helper_->RecordUserInteraction(
SecurityInterstitialMetricsHelper::TOTAL_VISITS);
- ssl_error_classification_.reset(new SSLErrorClassification(
- web_contents,
- base::Time::NowFromSystemTime(),
- request_url,
- cert_error_,
- *ssl_info_.cert.get()));
+ ssl_error_classification_.reset(
+ new SSLErrorClassification(web_contents, base_time_, request_url,
+ cert_error_, *ssl_info_.cert.get()));
ssl_error_classification_->RecordUMAStatistics(overridable_);
// Creating an interstitial without showing (e.g. from chrome://interstitials)
@@ -295,7 +295,8 @@ void SSLBlockingPage::PopulateInterstitialStrings(
load_time_data->SetString("type", "SSL");
// Shared UI configuration for all SSL interstitials.
- base::Time now = base::Time::NowFromSystemTime();
+ // base::Time now = base::Time::NowFromSystemTime();
felt 2015/02/20 16:01:53 why are these lines here but commented out?
lgarron 2015/02/20 22:12:46 I think we've removed the need for these; I would
fahl 2015/02/23 23:47:49 Acknowledged.
fahl 2015/02/23 23:47:49 Acknowledged.
+ // base::Time now = base_time_;
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(base_time_)
+ ? 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",
lgarron 2015/02/20 22:12:46 I see you're using `git cl format`? :-D
lgarron 2015/02/20 22:12:46 I see you're using `git cl format`? :-D
+ l10n_util::GetStringFUTF16(
+ IDS_SSL_V2_CLOCK_PRIMARY_PARAGRAPH, url,
+ base::TimeFormatFriendlyDateAndTime(base_time_)));
load_time_data->SetString(
"primaryButtonText",
@@ -425,8 +427,8 @@ void SSLBlockingPage::PopulateInterstitialStrings(
load_time_data->SetString(
"expirationDate",
base::TimeFormatShortDate(ssl_info_.cert->valid_expiry()));
- load_time_data->SetString(
- "currentDate", base::TimeFormatShortDate(now));
+ load_time_data->SetString("currentDate",
felt 2015/02/20 16:01:53 nit: i liked putting all of these on the next line
lgarron 2015/02/20 22:12:46 I suggested Sascha use `git cl format`. In case he
fahl 2015/02/23 23:47:49 Acknowledged.
+ base::TimeFormatShortDate(base_time_));
std::vector<std::string> encoded_chain;
ssl_info_.cert->GetPEMEncodedChain(&encoded_chain);
load_time_data->SetString("pem", JoinString(encoded_chain, std::string()));

Powered by Google App Engine
This is Rietveld 408576698