Chromium Code Reviews| 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", |