Index: components/security_interstitials/core/base_safe_browsing_error_ui.h |
diff --git a/components/security_interstitials/core/safe_browsing_error_ui.h b/components/security_interstitials/core/base_safe_browsing_error_ui.h |
similarity index 64% |
rename from components/security_interstitials/core/safe_browsing_error_ui.h |
rename to components/security_interstitials/core/base_safe_browsing_error_ui.h |
index ed1a90584f41faff4c6226811fbe119ca2a4018a..02d251744d30a2e818f75f1191a0ac159a0068f1 100644 |
--- a/components/security_interstitials/core/safe_browsing_error_ui.h |
+++ b/components/security_interstitials/core/base_safe_browsing_error_ui.h |
@@ -1,9 +1,9 @@ |
-// Copyright 2016 The Chromium Authors. All rights reserved. |
+// 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. |
-#ifndef COMPONENTS_SECURITY_INTERSTITIALS_CORE_SAFE_BROWSING_ERROR_UI_H_ |
-#define COMPONENTS_SECURITY_INTERSTITIALS_CORE_SAFE_BROWSING_ERROR_UI_H_ |
+#ifndef COMPONENTS_SECURITY_INTERSTITIALS_CORE_BASE_SAFE_BROWSING_ERROR_UI_H_ |
+#define COMPONENTS_SECURITY_INTERSTITIALS_CORE_BASE_SAFE_BROWSING_ERROR_UI_H_ |
#include "base/macros.h" |
#include "base/time/time.h" |
@@ -13,10 +13,11 @@ |
namespace security_interstitials { |
+// A base class for quiet vs loud versions of the safe browsing interstitial. |
// This class displays UI for Safe Browsing errors that block page loads. This |
// class is purely about visual display; it does not do any error-handling logic |
// to determine what type of error should be displayed when. |
-class SafeBrowsingErrorUI { |
+class BaseSafeBrowsingErrorUI { |
public: |
enum SBInterstitialReason { |
SB_REASON_MALWARE, |
@@ -64,22 +65,15 @@ class SafeBrowsingErrorUI { |
bool is_resource_cancellable; |
}; |
- SafeBrowsingErrorUI(const GURL& request_url, |
- const GURL& main_frame_url, |
- SBInterstitialReason reason, |
- const SBErrorDisplayOptions& display_options, |
- const std::string& app_locale, |
- const base::Time& time_triggered, |
- ControllerClient* controller); |
- ~SafeBrowsingErrorUI(); |
- |
- void PopulateStringsForHTML(base::DictionaryValue* load_time_data); |
- void HandleCommand(SecurityInterstitialCommands command); |
- |
- // Checks if we should even show the extended reporting option. We don't show |
- // it in incognito mode or if kSafeBrowsingExtendedReportingOptInAllowed |
- // preference is disabled. |
- bool CanShowExtendedReportingOption(); |
+ BaseSafeBrowsingErrorUI( |
+ const GURL& request_url, |
+ const GURL& main_frame_url, |
+ BaseSafeBrowsingErrorUI::SBInterstitialReason reason, |
+ const BaseSafeBrowsingErrorUI::SBErrorDisplayOptions& display_options, |
+ const std::string& app_locale, |
+ const base::Time& time_triggered, |
+ ControllerClient* controller); |
+ virtual ~BaseSafeBrowsingErrorUI(); |
bool is_main_frame_load_blocked() const { |
return display_options_.is_main_frame_load_blocked; |
@@ -89,30 +83,51 @@ class SafeBrowsingErrorUI { |
return display_options_.is_extended_reporting_opt_in_allowed; |
} |
- bool is_off_the_record() const { |
- return display_options_.is_off_the_record; |
- } |
+ bool is_off_the_record() const { return display_options_.is_off_the_record; } |
bool is_extended_reporting_enabled() const { |
return display_options_.is_extended_reporting_enabled; |
} |
+ void set_extended_reporting(bool pref) { |
+ display_options_.is_extended_reporting_enabled = pref; |
+ } |
+ |
+ bool is_scout_reporting_enabled() const { |
+ return display_options_.is_scout_reporting_enabled; |
+ } |
+ |
bool is_proceed_anyway_disabled() const { |
return display_options_.is_proceed_anyway_disabled; |
} |
- const std::string app_locale() const { |
- return app_locale_; |
+ bool is_resource_cancellable() const { |
+ return display_options_.is_resource_cancellable; |
} |
- private: |
- // Fills the passed dictionary with the values to be passed to the template |
- // when creating the HTML. |
- void PopulateExtendedReportingOption(base::DictionaryValue* load_time_data); |
- void PopulateMalwareLoadTimeData(base::DictionaryValue* load_time_data); |
- void PopulateHarmfulLoadTimeData(base::DictionaryValue* load_time_data); |
- void PopulatePhishingLoadTimeData(base::DictionaryValue* load_time_data); |
+ // Checks if we should even show the extended reporting option. We don't show |
+ // it in incognito mode or if kSafeBrowsingExtendedReportingOptInAllowed |
+ // preference is disabled. |
+ bool CanShowExtendedReportingOption() { |
+ return !is_off_the_record() && is_extended_reporting_opt_in_allowed(); |
+ } |
+ |
+ SBInterstitialReason interstitial_reason() const { |
+ return interstitial_reason_; |
+ } |
+ const std::string app_locale() const { return app_locale_; } |
+ |
+ ControllerClient* controller() { return controller_; }; |
+ |
+ GURL request_url() const { return request_url_; } |
+ GURL main_frame_url() const { return main_frame_url_; } |
+ |
+ virtual void PopulateStringsForHTML( |
+ base::DictionaryValue* load_time_data) = 0; |
+ virtual void HandleCommand(SecurityInterstitialCommands command) = 0; |
+ |
+ private: |
const GURL request_url_; |
const GURL main_frame_url_; |
const SBInterstitialReason interstitial_reason_; |
@@ -122,9 +137,9 @@ class SafeBrowsingErrorUI { |
ControllerClient* controller_; |
- DISALLOW_COPY_AND_ASSIGN(SafeBrowsingErrorUI); |
+ DISALLOW_COPY_AND_ASSIGN(BaseSafeBrowsingErrorUI); |
}; |
} // security_interstitials |
-#endif // COMPONENTS_SECURITY_INTERSTITIALS_CORE_SAFE_BROWSING_ERROR_UI_H_ |
+#endif // COMPONENTS_SECURITY_INTERSTITIALS_CORE_BASE_SAFE_BROWSING_ERROR_UI_H_ |