| Index: components/security_interstitials/core/superfish_error_ui.cc
|
| diff --git a/components/security_interstitials/core/superfish_error_ui.cc b/components/security_interstitials/core/superfish_error_ui.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..341bd6e824e895459741cdea37bc4bcd3d8c5c81
|
| --- /dev/null
|
| +++ b/components/security_interstitials/core/superfish_error_ui.cc
|
| @@ -0,0 +1,70 @@
|
| +// Copyright 2017 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/superfish_error_ui.h"
|
| +
|
| +#include "components/security_interstitials/core/common_string_util.h"
|
| +#include "components/security_interstitials/core/controller_client.h"
|
| +#include "components/security_interstitials/core/metrics_helper.h"
|
| +#include "components/strings/grit/components_strings.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
| +
|
| +namespace security_interstitials {
|
| +
|
| +namespace {
|
| +
|
| +// URL for Superfish-specific help page.
|
| +const char kHelpURL[] = "https://support.google.com/chrome/?p=superfish";
|
| +
|
| +} // namespace
|
| +
|
| +SuperfishErrorUI::SuperfishErrorUI(
|
| + const GURL& request_url,
|
| + int cert_error,
|
| + const net::SSLInfo& ssl_info,
|
| + int display_options, // Bitmask of SSLErrorOptionsMask values.
|
| + const base::Time& time_triggered,
|
| + ControllerClient* controller)
|
| + : SSLErrorUI(request_url,
|
| + cert_error,
|
| + ssl_info,
|
| + display_options,
|
| + time_triggered,
|
| + controller) {}
|
| +
|
| +void SuperfishErrorUI::PopulateStringsForHTML(
|
| + base::DictionaryValue* load_time_data) {
|
| + common_string_util::PopulateSSLDebuggingStrings(ssl_info(), time_triggered(),
|
| + load_time_data);
|
| +
|
| + load_time_data->SetBoolean("overridable", false);
|
| + load_time_data->SetBoolean("bad_clock", false);
|
| + load_time_data->SetBoolean("hide_primary_button", true);
|
| + load_time_data->SetString("tabTitle",
|
| + l10n_util::GetStringUTF16(IDS_SSL_V2_TITLE));
|
| + load_time_data->SetString(
|
| + "heading", l10n_util::GetStringUTF16(IDS_SSL_SUPERFISH_HEADING));
|
| + load_time_data->SetString(
|
| + "primaryParagraph",
|
| + l10n_util::GetStringUTF16(IDS_SSL_SUPERFISH_PRIMARY_PARAGRAPH));
|
| +
|
| + load_time_data->SetString("explanationParagraph", std::string());
|
| + load_time_data->SetString("primaryButtonText", std::string());
|
| + load_time_data->SetString("finalParagraph", std::string());
|
| + load_time_data->SetString("openDetails", base::string16());
|
| + load_time_data->SetString("closeDetails", base::string16());
|
| +}
|
| +
|
| +void SuperfishErrorUI::HandleCommand(SecurityInterstitialCommands command) {
|
| + // Override the Help Center link to point to a Superfish-specific page.
|
| + if (command == CMD_OPEN_HELP_CENTER) {
|
| + controller()->metrics_helper()->RecordUserInteraction(
|
| + security_interstitials::MetricsHelper::SHOW_LEARN_MORE);
|
| + controller()->OpenUrlInCurrentTab(GURL(kHelpURL));
|
| + return;
|
| + }
|
| + SSLErrorUI::HandleCommand(command);
|
| +}
|
| +
|
| +} // namespace security_interstitials
|
|
|