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

Side by Side 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: pass "gn check out/Default" 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 unified diff | Download patch
« no previous file with comments | « components/security_interstitials/core/bad_clock_ui.h ('k') | components/ssl_errors/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/security_interstitials/core/bad_clock_ui.h" 5 #include "components/security_interstitials/core/bad_clock_ui.h"
6 6
7 #include "base/i18n/time_formatting.h" 7 #include "base/i18n/time_formatting.h"
8 #include "components/security_interstitials/core/common_string_util.h" 8 #include "components/security_interstitials/core/common_string_util.h"
9 #include "components/security_interstitials/core/metrics_helper.h" 9 #include "components/security_interstitials/core/metrics_helper.h"
10 #include "grit/components_strings.h" 10 #include "grit/components_strings.h"
11 #include "ui/base/l10n/l10n_util.h" 11 #include "ui/base/l10n/l10n_util.h"
12 12
13 namespace security_interstitials { 13 namespace security_interstitials {
14 14
15 BadClockUI::BadClockUI(const GURL& request_url, 15 BadClockUI::BadClockUI(const GURL& request_url,
16 int cert_error, 16 int cert_error,
17 const net::SSLInfo& ssl_info, 17 const net::SSLInfo& ssl_info,
18 const base::Time& time_triggered, 18 const base::Time& time_triggered,
19 ssl_errors::ClockState clock_state,
19 const std::string& languages, 20 const std::string& languages,
20 ControllerClient* controller) 21 ControllerClient* controller)
21 : request_url_(request_url), 22 : request_url_(request_url),
22 cert_error_(cert_error), 23 cert_error_(cert_error),
23 ssl_info_(ssl_info), 24 ssl_info_(ssl_info),
24 time_triggered_(time_triggered), 25 time_triggered_(time_triggered),
25 languages_(languages), 26 languages_(languages),
26 controller_(controller) { 27 controller_(controller),
28 clock_state_(clock_state) {
27 controller_->metrics_helper()->RecordUserInteraction( 29 controller_->metrics_helper()->RecordUserInteraction(
28 security_interstitials::MetricsHelper::TOTAL_VISITS); 30 security_interstitials::MetricsHelper::TOTAL_VISITS);
29 31
30 // TODO(felt): Separate the clock statistics from the main ssl statistics. 32 ssl_errors::RecordUMAStatisticsForClockInterstitial(false, clock_state_,
31 ssl_errors::RecordUMAStatistics(false, time_triggered_, request_url_, 33 cert_error_);
32 cert_error_, *ssl_info_.cert.get());
33 } 34 }
34 35
35 BadClockUI::~BadClockUI() { 36 BadClockUI::~BadClockUI() {
36 controller_->metrics_helper()->RecordShutdownMetrics(); 37 controller_->metrics_helper()->RecordShutdownMetrics();
37 } 38 }
38 39
39 void BadClockUI::PopulateStringsForHTML(base::DictionaryValue* load_time_data) { 40 void BadClockUI::PopulateStringsForHTML(base::DictionaryValue* load_time_data) {
40 CHECK(load_time_data); 41 CHECK(load_time_data);
41 42
42 // Shared with other SSL errors. 43 // Shared with other SSL errors.
43 common_string_util::PopulateSSLLayoutStrings(cert_error_, load_time_data); 44 common_string_util::PopulateSSLLayoutStrings(cert_error_, load_time_data);
44 common_string_util::PopulateSSLDebuggingStrings(ssl_info_, time_triggered_, 45 common_string_util::PopulateSSLDebuggingStrings(ssl_info_, time_triggered_,
45 load_time_data); 46 load_time_data);
46 47
47 // Clock-specific strings. 48 // Clock-specific strings.
48 PopulateClockStrings(load_time_data); 49 PopulateClockStrings(load_time_data);
49 load_time_data->SetString("finalParagraph", std::string()); // Placeholder. 50 load_time_data->SetString("finalParagraph", std::string()); // Placeholder.
50 } 51 }
51 52
52 void BadClockUI::PopulateClockStrings(base::DictionaryValue* load_time_data) { 53 void BadClockUI::PopulateClockStrings(base::DictionaryValue* load_time_data) {
53 load_time_data->SetBoolean("bad_clock", true); 54 load_time_data->SetBoolean("bad_clock", true);
54 load_time_data->SetBoolean("overridable", false); 55 load_time_data->SetBoolean("overridable", false);
55 load_time_data->SetBoolean("hide_primary_button", 56 load_time_data->SetBoolean("hide_primary_button",
56 !controller_->CanLaunchDateAndTimeSettings()); 57 !controller_->CanLaunchDateAndTimeSettings());
57 int heading_string = ssl_errors::IsUserClockInTheFuture(time_triggered_) 58 int heading_string = 0;
58 ? IDS_CLOCK_ERROR_AHEAD_HEADING 59 switch (clock_state_) {
59 : IDS_CLOCK_ERROR_BEHIND_HEADING; 60 case ssl_errors::CLOCK_STATE_FUTURE:
61 heading_string = IDS_CLOCK_ERROR_AHEAD_HEADING;
62 break;
63 case ssl_errors::CLOCK_STATE_PAST:
64 heading_string = IDS_CLOCK_ERROR_BEHIND_HEADING;
65 break;
66 default:
67 NOTREACHED();
68 }
60 load_time_data->SetString("tabTitle", 69 load_time_data->SetString("tabTitle",
61 l10n_util::GetStringUTF16(IDS_CLOCK_ERROR_TITLE)); 70 l10n_util::GetStringUTF16(IDS_CLOCK_ERROR_TITLE));
62 load_time_data->SetString("heading", 71 load_time_data->SetString("heading",
63 l10n_util::GetStringUTF16(heading_string)); 72 l10n_util::GetStringUTF16(heading_string));
64 load_time_data->SetString( 73 load_time_data->SetString(
65 "primaryParagraph", 74 "primaryParagraph",
66 l10n_util::GetStringFUTF16( 75 l10n_util::GetStringFUTF16(
67 IDS_CLOCK_ERROR_PRIMARY_PARAGRAPH, 76 IDS_CLOCK_ERROR_PRIMARY_PARAGRAPH,
68 common_string_util::GetFormattedHostName(request_url_, languages_), 77 common_string_util::GetFormattedHostName(request_url_, languages_),
69 base::TimeFormatFriendlyDateAndTime(time_triggered_))); 78 base::TimeFormatFriendlyDateAndTime(time_triggered_)));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 NOTREACHED() << "Unsupported command: " << command; 119 NOTREACHED() << "Unsupported command: " << command;
111 case CMD_ERROR: 120 case CMD_ERROR:
112 case CMD_TEXT_FOUND: 121 case CMD_TEXT_FOUND:
113 case CMD_TEXT_NOT_FOUND: 122 case CMD_TEXT_NOT_FOUND:
114 // Commands are only for testing. 123 // Commands are only for testing.
115 NOTREACHED() << "Unexpected command: " << command; 124 NOTREACHED() << "Unexpected command: " << command;
116 } 125 }
117 } 126 }
118 127
119 } // security_interstitials 128 } // security_interstitials
OLDNEW
« no previous file with comments | « components/security_interstitials/core/bad_clock_ui.h ('k') | components/ssl_errors/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698