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..47fddc326d7b5f0cf7b5466caeb10b0d17095879 100644 |
--- a/components/security_interstitials/core/bad_clock_ui.cc |
+++ b/components/security_interstitials/core/bad_clock_ui.cc |
@@ -10,26 +10,31 @@ |
#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, |
estark
2016/03/10 20:10:08
This formatting looks a little strange to me. Do y
mab
2016/03/11 04:18:41
Neato. Done.
|
+ 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 +59,19 @@ 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::NETWORK_FUTURE: |
+ case ssl_errors::BUILD_FUTURE: |
+ heading_string = IDS_CLOCK_ERROR_AHEAD_HEADING; |
+ break; |
+ case ssl_errors::NETWORK_OK: |
+ case ssl_errors::NETWORK_PAST: |
+ case ssl_errors::BUILD_PAST: |
+ case ssl_errors::UNKNOWN: |
+ heading_string = IDS_CLOCK_ERROR_BEHIND_HEADING; |
estark
2016/03/10 20:10:08
Eh? NETWORK_OK and UNKNOWN => CLOCK_ERROR_BEHIND?
mab
2016/03/11 04:18:41
It seems ever so slightly unsafe, but, done.
|
+ break; |
+ } |
load_time_data->SetString("tabTitle", |
l10n_util::GetStringUTF16(IDS_CLOCK_ERROR_TITLE)); |
load_time_data->SetString("heading", |