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

Unified Diff: components/security_interstitials/core/safe_browsing_quiet_error_ui.cc

Issue 2854263003: Add quiet safe browsing interstitial for WebView (Closed)
Patch Set: Address dbeam comments Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: components/security_interstitials/core/safe_browsing_quiet_error_ui.cc
diff --git a/components/security_interstitials/core/safe_browsing_quiet_error_ui.cc b/components/security_interstitials/core/safe_browsing_quiet_error_ui.cc
new file mode 100644
index 0000000000000000000000000000000000000000..0474b26020e974614570d8f79965e4c5f60b3bfb
--- /dev/null
+++ b/components/security_interstitials/core/safe_browsing_quiet_error_ui.cc
@@ -0,0 +1,77 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/security_interstitials/core/safe_browsing_quiet_error_ui.h"
+
+#include "base/i18n/time_formatting.h"
+#include "base/metrics/histogram_macros.h"
+#include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "components/google/core/browser/google_util.h"
+#include "components/security_interstitials/core/common_string_util.h"
+#include "components/security_interstitials/core/metrics_helper.h"
+#include "components/strings/grit/components_strings.h"
+#include "net/base/escape.h"
+#include "ui/base/l10n/l10n_util.h"
+
+namespace security_interstitials {
+
+SafeBrowsingQuietErrorUI::SafeBrowsingQuietErrorUI(
+ const GURL& request_url,
+ const GURL& main_frame_url,
+ SafeBrowsingErrorUI::SBInterstitialReason reason,
+ const SafeBrowsingErrorUI::SBErrorDisplayOptions& display_options,
+ const std::string& app_locale,
+ const base::Time& time_triggered,
+ ControllerClient* controller,
+ const bool is_giant_webview)
+ : request_url_(request_url),
+ main_frame_url_(main_frame_url),
+ interstitial_reason_(reason),
+ display_options_(display_options),
+ is_giant_webview_(is_giant_webview),
+ controller_(controller) {
+ controller_->metrics_helper()->RecordUserDecision(MetricsHelper::SHOW);
+ controller_->metrics_helper()->RecordUserInteraction(
+ MetricsHelper::TOTAL_VISITS);
+ if (display_options_.is_proceed_anyway_disabled) {
+ controller_->metrics_helper()->RecordUserDecision(
+ security_interstitials::MetricsHelper::PROCEEDING_DISABLED);
+ }
+}
+
+SafeBrowsingQuietErrorUI::~SafeBrowsingQuietErrorUI() {
+ controller_->metrics_helper()->RecordShutdownMetrics();
+}
+
+void SafeBrowsingQuietErrorUI::PopulateStringsForHtml(
+ base::DictionaryValue* load_time_data) {
+ DCHECK(load_time_data);
+
+ load_time_data->SetString("type", "SAFEBROWSING");
+ load_time_data->SetString(
+ "tabTitle", l10n_util::GetStringUTF16(IDS_SAFEBROWSING_V3_TITLE));
+ load_time_data->SetBoolean("overridable",
+ !display_options_.is_proceed_anyway_disabled);
+ load_time_data->SetBoolean("is_giant", is_giant_webview_);
+ load_time_data->SetString(
+ "proceedLink", l10n_util::GetStringUTF16(IDS_WEBVIEW_PROCEED_LINK));
+
+ bool phishing =
+ interstitial_reason_ == SafeBrowsingErrorUI::SB_REASON_PHISHING;
+ load_time_data->SetBoolean("phishing", phishing);
+
+ int explanation_ids = -1;
+ if (phishing)
+ explanation_ids = IDS_PHISHING_WEBVIEW_EXPLANATION_PARAGRAPH;
+ else if (interstitial_reason_ == SafeBrowsingErrorUI::SB_REASON_MALWARE)
+ explanation_ids = IDS_MALWARE_WEBVIEW_EXPLANATION_PARAGRAPH;
+
+ if (explanation_ids > -1) {
+ load_time_data->SetString("explanationParagraph",
+ l10n_util::GetStringUTF16(explanation_ids));
+ }
+}
+
+} // security_interstitials

Powered by Google App Engine
This is Rietveld 408576698