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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page.h

Issue 2575623002: Componentizing SafeBrowsingBlockingPage Part 1 (Closed)
Patch Set: address comments from estark@ Created 4 years 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: chrome/browser/safe_browsing/safe_browsing_blocking_page.h
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.h b/chrome/browser/safe_browsing/safe_browsing_blocking_page.h
index ce26a2baf61c144423285294018c891afa1b82c4..1515402f458596cd046cc3f55ae03517488d6fd6 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.h
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.h
@@ -40,6 +40,7 @@
#include "chrome/browser/interstitials/chrome_metrics_helper.h"
#include "chrome/browser/interstitials/security_interstitial_page.h"
#include "chrome/browser/safe_browsing/ui_manager.h"
+#include "components/security_interstitials/core/safe_browsing_error_ui.h"
#include "content/public/browser/interstitial_page_delegate.h"
#include "url/gurl.h"
@@ -51,6 +52,7 @@ class ThreatDetails;
class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
public:
typedef security_interstitials::UnsafeResource UnsafeResource;
+ typedef security_interstitials::SafeBrowsingErrorUI SafeBrowsingErrorUI;
typedef std::vector<UnsafeResource> UnsafeResourceList;
typedef std::map<content::WebContents*, UnsafeResourceList> UnsafeResourceMap;
@@ -92,6 +94,7 @@ class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
static bool ShouldReportThreatDetails(SBThreatType threat_type);
protected:
+ friend class SafeBrowsingBlockingPageFactoryImpl;
friend class SafeBrowsingBlockingPageTest;
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingBlockingPageTest,
ProceedThenDontProceed);
@@ -101,6 +104,8 @@ class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
MalwareReportsToggling);
FRIEND_TEST_ALL_PREFIXES(SafeBrowsingBlockingPageTest,
ExtendedReportingNotShownOnSecurePage);
+ FRIEND_TEST_ALL_PREFIXES(SafeBrowsingBlockingPageTest,
+ MalwareReportsTransitionDisabled);
FRIEND_TEST_ALL_PREFIXES(
SafeBrowsingBlockingPageTest,
ExtendedReportingNotShownOnSecurePageWithSecureSubresource);
@@ -133,9 +138,6 @@ class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
// milliseconds), in order to get data from the blocked resource itself.
int64_t threat_details_proceed_delay_ms_;
- FRIEND_TEST_ALL_PREFIXES(SafeBrowsingBlockingPageTest,
- MalwareReportsTransitionDisabled);
-
// Checks if we should even show the threat details option. For example, we
// don't show it in incognito mode.
bool CanShowThreatDetailsOption();
@@ -156,16 +158,11 @@ class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
static bool IsMainPageLoadBlocked(
const UnsafeResourceList& unsafe_resources);
- friend class SafeBrowsingBlockingPageFactoryImpl;
-
// For reporting back user actions.
SafeBrowsingUIManager* ui_manager_;
- // True if the interstitial is blocking the main page because it is on one
- // of our lists. False if a subresource is being blocked, or in the case of
- // client-side detection where the interstitial is shown after page load
- // finishes.
- bool is_main_frame_load_blocked_;
+ // For displaying safe browsing interstitial.
+ std::unique_ptr<security_interstitials::SafeBrowsingErrorUI> sb_error_ui_;
Nathan Parker 2016/12/15 23:30:42 Can you remove the security_interstitials:: since
Jialiu Lin 2016/12/16 00:51:42 Right. Done.
// The URL of the main frame that caused the warning.
GURL main_frame_url_;
@@ -185,12 +182,7 @@ class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
bool proceeded_;
// Which type of Safe Browsing interstitial this is.
- enum SBInterstitialReason {
- SB_REASON_MALWARE,
- SB_REASON_HARMFUL,
- SB_REASON_PHISHING,
- };
- SBInterstitialReason interstitial_reason_;
+ SafeBrowsingErrorUI::SBInterstitialReason interstitial_reason_;
// The factory used to instantiate SafeBrowsingBlockingPage objects.
// Useful for tests, so they can provide their own implementation of
@@ -198,24 +190,15 @@ class SafeBrowsingBlockingPage : public SecurityInterstitialPage {
static SafeBrowsingBlockingPageFactory* factory_;
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);
-
- static std::string GetMetricPrefix(const UnsafeResourceList& unsafe_resources,
- SBInterstitialReason interstitial_reason);
+ static std::string GetMetricPrefix(
+ const UnsafeResourceList& unsafe_resources,
+ SafeBrowsingErrorUI::SBInterstitialReason interstitial_reason);
static std::string GetExtraMetricsSuffix(
const UnsafeResourceList& unsafe_resources);
- static std::string GetRapporPrefix(SBInterstitialReason interstitial_reason);
- static std::string GetDeprecatedRapporPrefix(
- SBInterstitialReason interstitial_reason);
static std::string GetSamplingEventName(
- SBInterstitialReason interstitial_reason);
+ SafeBrowsingErrorUI::SBInterstitialReason interstitial_reason);
- static SBInterstitialReason GetInterstitialReason(
+ static SafeBrowsingErrorUI::SBInterstitialReason GetInterstitialReason(
const UnsafeResourceList& unsafe_resources);
static std::unique_ptr<ChromeMetricsHelper> CreateMetricsHelper(

Powered by Google App Engine
This is Rietveld 408576698