| 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..d29703297984efd8aa988b40b121b793ed9f312f 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,18 @@ 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 = 0;
|
| + switch (ssl_errors::GetClockState(time_triggered_, network_time_tracker_)) {
|
| + case ssl_errors::CLOCK_STATE_FUTURE:
|
| + heading_string = IDS_CLOCK_ERROR_AHEAD_HEADING;
|
| + break;
|
| + case ssl_errors::CLOCK_STATE_PAST:
|
| + heading_string = IDS_CLOCK_ERROR_BEHIND_HEADING;
|
| + break;
|
| + case ssl_errors::CLOCK_STATE_OK:
|
| + case ssl_errors::CLOCK_STATE_UNKNOWN:
|
| + NOTREACHED();
|
| + }
|
| load_time_data->SetString("tabTitle",
|
| l10n_util::GetStringUTF16(IDS_CLOCK_ERROR_TITLE));
|
| load_time_data->SetString("heading",
|
|
|