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

Unified Diff: components/security_interstitials/core/bad_clock_ui.cc

Issue 1772143002: Use network time for bad clock interstitial. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: estark review 2 Created 4 years, 9 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: components/security_interstitials/core/bad_clock_ui.cc
diff --git a/components/security_interstitials/core/bad_clock_ui.cc b/components/security_interstitials/core/bad_clock_ui.cc
index 7b39de7574d2a77bd92df3ed93bd7c7f978d3584..19d567ec0c84ee99bb40ac7ff095390346281471 100644
--- a/components/security_interstitials/core/bad_clock_ui.cc
+++ b/components/security_interstitials/core/bad_clock_ui.cc
@@ -10,26 +10,34 @@
#include "grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
+namespace network_time {
+class NetworkTimeTracker;
+}
+
namespace security_interstitials {
-BadClockUI::BadClockUI(const GURL& request_url,
- int cert_error,
- const net::SSLInfo& ssl_info,
- const base::Time& time_triggered,
- const std::string& languages,
- ControllerClient* controller)
+BadClockUI::BadClockUI(
+ const GURL& request_url,
+ int cert_error,
+ const net::SSLInfo& ssl_info,
+ const base::Time& time_triggered,
+ const network_time::NetworkTimeTracker* network_time_tracker,
+ const std::string& languages,
+ ControllerClient* controller)
: request_url_(request_url),
cert_error_(cert_error),
ssl_info_(ssl_info),
time_triggered_(time_triggered),
languages_(languages),
- controller_(controller) {
+ controller_(controller),
+ network_time_tracker_(network_time_tracker) {
controller_->metrics_helper()->RecordUserInteraction(
security_interstitials::MetricsHelper::TOTAL_VISITS);
// TODO(felt): Separate the clock statistics from the main ssl statistics.
- ssl_errors::RecordUMAStatistics(false, time_triggered_, request_url_,
- cert_error_, *ssl_info_.cert.get());
+ ssl_errors::RecordUMAStatistics(false, time_triggered_, network_time_tracker_,
+ request_url_, cert_error_,
+ *ssl_info_.cert.get());
}
BadClockUI::~BadClockUI() {
@@ -54,9 +62,21 @@ void BadClockUI::PopulateClockStrings(base::DictionaryValue* load_time_data) {
load_time_data->SetBoolean("overridable", false);
load_time_data->SetBoolean("hide_primary_button",
!controller_->CanLaunchDateAndTimeSettings());
- int heading_string = ssl_errors::IsUserClockInTheFuture(time_triggered_)
- ? IDS_CLOCK_ERROR_AHEAD_HEADING
- : IDS_CLOCK_ERROR_BEHIND_HEADING;
+ int heading_string;
+ switch (ssl_errors::GetClockState(time_triggered_, network_time_tracker_)) {
+ case ssl_errors::CLOCK_STATE_NETWORK_FUTURE:
+ case ssl_errors::CLOCK_STATE_BUILD_FUTURE:
+ heading_string = IDS_CLOCK_ERROR_AHEAD_HEADING;
+ break;
+ case ssl_errors::CLOCK_STATE_NETWORK_PAST:
+ case ssl_errors::CLOCK_STATE_BUILD_PAST:
+ heading_string = IDS_CLOCK_ERROR_BEHIND_HEADING;
+ break;
+ case ssl_errors::CLOCK_STATE_NETWORK_OK:
+ case ssl_errors::CLOCK_STATE_UNKNOWN:
+ NOTREACHED();
+ heading_string = 0;
estark 2016/03/11 22:00:05 It's against chromium style to handle NOTREACHED()
mab 2016/03/11 23:12:50 Done.
+ }
load_time_data->SetString("tabTitle",
l10n_util::GetStringUTF16(IDS_CLOCK_ERROR_TITLE));
load_time_data->SetString("heading",

Powered by Google App Engine
This is Rietveld 408576698