From bd00bd10a193ca94ba6145cdba65f4e3f0a2cc6a Mon Sep 17 00:00:00 2001 From: felt Date: Mon, 18 Jul 2016 19:04:12 -0700 Subject: [PATCH] Update interstitials to match the new security indicators I've gated this change using the Feature API, behind the feature name SecurityWarningIconUpdate. That way we can monitor the CTR impact and roll back if necessary. Squashed pngs using tools/resources/optimize-png-files.sh -o2. Screenshots on the bug. BUG=629140 Review-Url: https://codereview.chromium.org/2158113002 Cr-Commit-Position: refs/heads/master@{#406183} --- .../safe_browsing_blocking_page.cc | 3 +++ .../browser/ssl/captive_portal_blocking_page.cc | 3 +++ .../security_interstitials/core/bad_clock_ui.cc | 1 + .../resources/images/1x/triangle_red.png | Bin 0 -> 1005 bytes .../resources/images/1x/triangle_white.png | Bin 0 -> 1000 bytes .../resources/images/2x/triangle_red.png | Bin 0 -> 1849 bytes .../resources/images/2x/triangle_white.png | Bin 0 -> 1860 bytes .../core/browser/resources/interstitial_v2.css | 16 ++++++++++++++-- .../core/browser/resources/interstitial_v2.js | 5 +++++ .../core/common_string_util.cc | 11 +++++++++++ .../core/common_string_util.h | 3 +++ .../security_interstitials/core/ssl_error_ui.cc | 1 + 12 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 components/security_interstitials/core/browser/resources/images/1x/triangle_red.png create mode 100644 components/security_interstitials/core/browser/resources/images/1x/triangle_white.png create mode 100644 components/security_interstitials/core/browser/resources/images/2x/triangle_red.png create mode 100644 components/security_interstitials/core/browser/resources/images/2x/triangle_white.png diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc index 8a2c707b98ad6a..28b1accf4810eb 100644 --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc @@ -35,6 +35,7 @@ #include "chrome/grit/locale_settings.h" #include "components/google/core/browser/google_util.h" #include "components/prefs/pref_service.h" +#include "components/security_interstitials/core/common_string_util.h" #include "components/security_interstitials/core/controller_client.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/interstitial_page.h" @@ -639,6 +640,8 @@ void SafeBrowsingBlockingPage::PopulateInterstitialStrings( load_time_data->SetBoolean( "overridable", !IsPrefEnabled(prefs::kSafeBrowsingProceedAnywayDisabled)); + security_interstitials::common_string_util::PopulateNewIconStrings( + load_time_data); switch (interstitial_reason_) { case SB_REASON_MALWARE: diff --git a/chrome/browser/ssl/captive_portal_blocking_page.cc b/chrome/browser/ssl/captive_portal_blocking_page.cc index cf610aa48ef62d..3b5483a02726b9 100644 --- a/chrome/browser/ssl/captive_portal_blocking_page.cc +++ b/chrome/browser/ssl/captive_portal_blocking_page.cc @@ -18,6 +18,7 @@ #include "chrome/browser/ssl/ssl_cert_reporter.h" #include "components/captive_portal/captive_portal_detector.h" #include "components/certificate_reporting/error_reporter.h" +#include "components/security_interstitials/core/common_string_util.h" #include "components/security_interstitials/core/controller_client.h" #include "components/url_formatter/url_formatter.h" #include "components/wifi/wifi_service.h" @@ -119,6 +120,8 @@ void CaptivePortalBlockingPage::PopulateInterstitialStrings( load_time_data->SetString("iconClass", "icon-offline"); load_time_data->SetString("type", "CAPTIVE_PORTAL"); load_time_data->SetBoolean("overridable", false); + security_interstitials::common_string_util::PopulateNewIconStrings( + load_time_data); // |IsWifiConnection| isn't accurate on some platforms, so always try to get // the Wi-Fi SSID even if |IsWifiConnection| is false. diff --git a/components/security_interstitials/core/bad_clock_ui.cc b/components/security_interstitials/core/bad_clock_ui.cc index 59d62d57113b4c..bb6020daaafdf0 100644 --- a/components/security_interstitials/core/bad_clock_ui.cc +++ b/components/security_interstitials/core/bad_clock_ui.cc @@ -42,6 +42,7 @@ void BadClockUI::PopulateStringsForHTML(base::DictionaryValue* load_time_data) { common_string_util::PopulateSSLLayoutStrings(cert_error_, load_time_data); common_string_util::PopulateSSLDebuggingStrings(ssl_info_, time_triggered_, load_time_data); + common_string_util::PopulateNewIconStrings(load_time_data); // Clock-specific strings. PopulateClockStrings(load_time_data); diff --git a/components/security_interstitials/core/browser/resources/images/1x/triangle_red.png b/components/security_interstitials/core/browser/resources/images/1x/triangle_red.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd8f7598d1fa3b9600a6f68f6ca2a9974d8948e GIT binary patch literal 1005 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 + "iconUpdate", base::FeatureList::IsEnabled(kSecurityWarningIconUpdate)); +} + } // namespace common_string_util } // namespace security_interstitials diff --git a/components/security_interstitials/core/common_string_util.h b/components/security_interstitials/core/common_string_util.h index 146b03d120910a..da10ee7a872354 100644 --- a/components/security_interstitials/core/common_string_util.h +++ b/components/security_interstitials/core/common_string_util.h @@ -29,6 +29,9 @@ void PopulateSSLDebuggingStrings(const net::SSLInfo ssl_info, const base::Time time_triggered, base::DictionaryValue* load_time_data); +// For determining whether to use the old or new icon sets. +void PopulateNewIconStrings(base::DictionaryValue* load_time_data); + } // common_string_util } // namespace security_interstitials diff --git a/components/security_interstitials/core/ssl_error_ui.cc b/components/security_interstitials/core/ssl_error_ui.cc index 993b19a844804b..454fc8e2ca31eb 100644 --- a/components/security_interstitials/core/ssl_error_ui.cc +++ b/components/security_interstitials/core/ssl_error_ui.cc @@ -66,6 +66,7 @@ void SSLErrorUI::PopulateStringsForHTML(base::DictionaryValue* load_time_data) { common_string_util::PopulateSSLLayoutStrings(cert_error_, load_time_data); common_string_util::PopulateSSLDebuggingStrings(ssl_info_, time_triggered_, load_time_data); + common_string_util::PopulateNewIconStrings(load_time_data); // Shared values for both the overridable and non-overridable versions. load_time_data->SetBoolean("bad_clock", false);