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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc

Issue 10928173: Safe Browsing phishing interstitial redesign. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 3 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
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_blocking_page.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
index 792274b51e9f91dfc4eb0b82fc80ae363d58b984..0df59eea3f9e86acec128d4105b62b0920824ebb 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
@@ -42,6 +42,10 @@ using content::WebContents;
namespace {
+const char kEmptyPage[] = "files/empty.html";
+const char kMalwarePage[] = "files/safe_browsing/malware.html";
+const char kMalwareIframe[] = "files/safe_browsing/malware_iframe.html";
+
// A SafeBrowingService class that allows us to inject the malicious URLs.
class FakeSafeBrowsingService : public SafeBrowsingService {
public:
@@ -274,6 +278,31 @@ class SafeBrowsingBlockingPageV2Test : public InProcessBrowserTest {
service->AddURLResult(url, checkresult);
}
+ // Adds a safebrowsing result of type |check_result| to the fake safebrowsing
+ // service, navigates to that page, and returns the url.
+ GURL SetupWarningAndNavigate(
+ SafeBrowsingService::UrlCheckResult check_result) {
+ GURL url = test_server()->GetURL(kEmptyPage);
+ AddURLResult(url, check_result);
+
+ ui_test_utils::NavigateToURL(browser(), url);
+ EXPECT_TRUE(WaitForReady());
+ return url;
+ }
+
+ // Adds a safebrowsing malware result to the fake safebrowsing service,
+ // navigates to a page with an iframe containing the malware site, and
+ // returns the url of the parent page.
+ GURL SetupMalwareIframeWarningAndNavigate() {
+ GURL url = test_server()->GetURL(kMalwarePage);
+ GURL iframe_url = test_server()->GetURL(kMalwareIframe);
+ AddURLResult(iframe_url, SafeBrowsingService::URL_MALWARE);
+
+ ui_test_utils::NavigateToURL(browser(), url);
+ EXPECT_TRUE(WaitForReady());
+ return url;
+ }
+
void SendCommand(const std::string& command) {
WebContents* contents = chrome::GetActiveWebContents(browser());
// We use InterstitialPage::GetInterstitialPage(tab) instead of
@@ -468,10 +497,6 @@ class SafeBrowsingBlockingPageV2Test : public InProcessBrowserTest {
DISALLOW_COPY_AND_ASSIGN(SafeBrowsingBlockingPageV2Test);
};
-const char kEmptyPage[] = "files/empty.html";
-const char kMalwarePage[] = "files/safe_browsing/malware.html";
-const char kMalwareIframe[] = "files/safe_browsing/malware_iframe.html";
-
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
MalwareRedirectInIFrameCanceled) {
// 1. Test the case that redirect is a subresource.
@@ -494,50 +519,41 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
}
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, MalwareDontProceed) {
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_MALWARE);
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ SetupWarningAndNavigate(SafeBrowsingService::URL_MALWARE);
EXPECT_EQ(VISIBLE, GetVisibility("malware-icon"));
EXPECT_EQ(HIDDEN, GetVisibility("subresource-icon"));
+ EXPECT_EQ(HIDDEN, GetVisibility("phishing-icon"));
EXPECT_EQ(VISIBLE, GetVisibility("check-report"));
EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("report-error-link"));
EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
EXPECT_TRUE(Click("see-more-link"));
EXPECT_EQ(VISIBLE, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("report-error-link"));
EXPECT_EQ(VISIBLE, GetVisibility("proceed"));
EXPECT_TRUE(ClickAndWaitForDetach("back"));
AssertNoInterstitial(false); // Assert the interstitial is gone
EXPECT_EQ(
- GURL(chrome::kAboutBlankURL), // Back to "about:blank"
+ GURL(chrome::kAboutBlankURL), // Back to "about:blank"
chrome::GetActiveWebContents(browser())->GetURL());
}
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, MalwareProceed) {
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_MALWARE);
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ GURL url = SetupWarningAndNavigate(SafeBrowsingService::URL_MALWARE);
EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
- AssertNoInterstitial(true); // Assert the interstitial is gone.
+ AssertNoInterstitial(true); // Assert the interstitial is gone.
EXPECT_EQ(url, chrome::GetActiveWebContents(browser())->GetURL());
}
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
MalwareLearnMore) {
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_MALWARE);
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ SetupWarningAndNavigate(SafeBrowsingService::URL_MALWARE);
EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link"));
- AssertNoInterstitial(false); // Assert the interstitial is gone
+ AssertNoInterstitial(false); // Assert the interstitial is gone
// We are in the help page.
EXPECT_EQ(
@@ -547,54 +563,42 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
MalwareIframeDontProceed) {
- GURL url = test_server()->GetURL(kMalwarePage);
- GURL iframe_url = test_server()->GetURL(kMalwareIframe);
- AddURLResult(iframe_url, SafeBrowsingService::URL_MALWARE);
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ SetupMalwareIframeWarningAndNavigate();
EXPECT_EQ(HIDDEN, GetVisibility("malware-icon"));
EXPECT_EQ(VISIBLE, GetVisibility("subresource-icon"));
+ EXPECT_EQ(HIDDEN, GetVisibility("phishing-icon"));
EXPECT_EQ(VISIBLE, GetVisibility("check-report"));
EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("report-error-link"));
EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
EXPECT_TRUE(Click("see-more-link"));
EXPECT_EQ(VISIBLE, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("report-error-link"));
EXPECT_EQ(VISIBLE, GetVisibility("proceed"));
EXPECT_TRUE(ClickAndWaitForDetach("back"));
AssertNoInterstitial(false); // Assert the interstitial is gone
EXPECT_EQ(
- GURL(chrome::kAboutBlankURL), // Back to "about:blank"
+ GURL(chrome::kAboutBlankURL), // Back to "about:blank"
chrome::GetActiveWebContents(browser())->GetURL());
}
// Crashy, http://crbug.com/68834.
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
DISABLED_MalwareIframeProceed) {
- GURL url = test_server()->GetURL(kMalwarePage);
- GURL iframe_url = test_server()->GetURL(kMalwareIframe);
- AddURLResult(iframe_url, SafeBrowsingService::URL_MALWARE);
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ GURL url = SetupMalwareIframeWarningAndNavigate();
EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
- AssertNoInterstitial(true); // Assert the interstitial is gone
+ AssertNoInterstitial(true); // Assert the interstitial is gone
EXPECT_EQ(url, chrome::GetActiveWebContents(browser())->GetURL());
}
IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
MalwareIframeReportDetails) {
- GURL url = test_server()->GetURL(kMalwarePage);
- GURL iframe_url = test_server()->GetURL(kMalwareIframe);
- AddURLResult(iframe_url, SafeBrowsingService::URL_MALWARE);
-
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ GURL url = SetupMalwareIframeWarningAndNavigate();
// If the DOM details from renderer did not already return, wait for them.
details_factory_.get_details()->WaitForDOM();
@@ -619,10 +623,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, ProceedDisabled) {
browser()->profile()->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingProceedAnywayDisabled, true);
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_MALWARE);
- ui_test_utils::NavigateToURL(browser(), url);
- ASSERT_TRUE(WaitForReady());
+ SetupWarningAndNavigate(SafeBrowsingService::URL_MALWARE);
EXPECT_EQ(VISIBLE, GetVisibility("check-report"));
EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
@@ -637,7 +638,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, ProceedDisabled) {
EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
AssertNoInterstitial(true);
EXPECT_EQ(
- GURL(chrome::kAboutBlankURL), // Back to "about:blank"
+ GURL(chrome::kAboutBlankURL), // Back to "about:blank"
chrome::GetActiveWebContents(browser())->GetURL());
}
@@ -667,6 +668,60 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, ReportingDisabled) {
EXPECT_TRUE(ClickAndWaitForDetach("back"));
AssertNoInterstitial(false); // Assert the interstitial is gone
EXPECT_EQ(
- GURL(chrome::kAboutBlankURL), // Back to "about:blank"
+ GURL(chrome::kAboutBlankURL), // Back to "about:blank"
chrome::GetActiveWebContents(browser())->GetURL());
}
+
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, PhishingDontProceed) {
+ SetupWarningAndNavigate(SafeBrowsingService::URL_PHISHING);
+
+ EXPECT_EQ(HIDDEN, GetVisibility("malware-icon"));
+ EXPECT_EQ(HIDDEN, GetVisibility("subresource-icon"));
+ EXPECT_EQ(VISIBLE, GetVisibility("phishing-icon"));
+ EXPECT_EQ(HIDDEN, GetVisibility("check-report"));
+ EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("report-error-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
+ EXPECT_TRUE(Click("see-more-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(VISIBLE, GetVisibility("report-error-link"));
+ EXPECT_EQ(VISIBLE, GetVisibility("proceed"));
+
+ EXPECT_TRUE(ClickAndWaitForDetach("back"));
+ AssertNoInterstitial(false); // Assert the interstitial is gone
+ EXPECT_EQ(
+ GURL(chrome::kAboutBlankURL), // We are back to "about:blank".
+ chrome::GetActiveWebContents(browser())->GetURL());
+}
+
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, PhishingProceed) {
+ GURL url = SetupWarningAndNavigate(SafeBrowsingService::URL_PHISHING);
+
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ AssertNoInterstitial(true); // Assert the interstitial is gone
+ EXPECT_EQ(url, chrome::GetActiveWebContents(browser())->GetURL());
+}
+
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, PhishingReportError) {
+ SetupWarningAndNavigate(SafeBrowsingService::URL_PHISHING);
+
+ EXPECT_TRUE(ClickAndWaitForDetach("report-error-link"));
+ AssertNoInterstitial(false); // Assert the interstitial is gone
+
+ // We are in the error reporting page.
+ EXPECT_EQ(
+ "/safebrowsing/report_error/",
+ chrome::GetActiveWebContents(browser())->GetURL().path());
+}
+
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, PhishingLearnMore) {
+ SetupWarningAndNavigate(SafeBrowsingService::URL_PHISHING);
+
+ EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link"));
+ AssertNoInterstitial(false); // Assert the interstitial is gone
+
+ // We are in the help page.
+ EXPECT_EQ(
+ "/goodtoknow/online-safety/phishing/",
+ chrome::GetActiveWebContents(browser())->GetURL().path());
+}
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_blocking_page.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698