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

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

Issue 10855260: Safe Browsing malware interstitial redesign field trial. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix compile warning Created 8 years, 4 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: chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
similarity index 84%
copy from chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
copy to chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
index 966bf2e8a2373ec9afe2cb693aabf4369da67e8e..55d89b6c5f0cc61c2bf7b5d521fe8605f3fa8d48 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_v2_test.cc
@@ -6,6 +6,10 @@
// malware and phishing urls. It then uses a real browser to go to
// these urls, and sends "goback" or "proceed" commands and verifies
// they work.
+//
+// TODO(mattm): remove / merge this file with
+// safe_browsing_blocking_page_test.cc once the SBInterstitial field trial
+// finishes.
#include "base/bind.h"
#include "base/utf_string_conversions.h"
@@ -183,12 +187,12 @@ class TestMalwareDetailsFactory : public MalwareDetailsFactory {
};
// A SafeBrowingBlockingPage class that lets us wait until it's hidden.
-class TestSafeBrowsingBlockingPage : public SafeBrowsingBlockingPage {
+class TestSafeBrowsingBlockingPage : public SafeBrowsingBlockingPageV2 {
public:
TestSafeBrowsingBlockingPage(SafeBrowsingService* service,
WebContents* web_contents,
const UnsafeResourceList& unsafe_resources)
- : SafeBrowsingBlockingPage(service, web_contents, unsafe_resources),
+ : SafeBrowsingBlockingPageV2(service, web_contents, unsafe_resources),
wait_for_delete_(false) {
// Don't wait the whole 3 seconds for the browser test.
malware_details_proceed_delay_ms_ = 100;
@@ -231,9 +235,9 @@ class TestSafeBrowsingBlockingPageFactory
} // namespace
// Tests the safe browsing blocking page in a browser.
-class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
+class SafeBrowsingBlockingPageV2Test : public InProcessBrowserTest {
public:
- SafeBrowsingBlockingPageTest() {
+ SafeBrowsingBlockingPageV2Test() {
}
virtual void SetUp() OVERRIDE {
@@ -391,14 +395,13 @@ class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
if (!value.get() || !value->GetAsString(&ready_state))
return false;
} while (ready_state != "complete");
- // Now get the display style for the "proceed anyway" <div>.
+ // Now check hidden state of the "proceed anyway" <span>.
scoped_ptr<base::Value> value(rvh->ExecuteJavascriptAndGetValue(
string16(),
ASCIIToUTF16(
- "var list = document.querySelectorAll("
- " 'div[jsdisplay=\"!proceedDisabled\"]');\n"
- "if (list.length == 1)\n"
- " list[0].style.display === 'none';\n"
+ "var element = document.getElementById('proceed-span');\n"
+ "if (element !== null)\n"
+ " element.hidden;\n"
"else\n"
" 'Fail with non-boolean result value';\n")));
if (!value.get())
@@ -413,14 +416,14 @@ class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
TestSafeBrowsingServiceFactory factory_;
TestSafeBrowsingBlockingPageFactory blocking_page_factory_;
- DISALLOW_COPY_AND_ASSIGN(SafeBrowsingBlockingPageTest);
+ 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(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
MalwareRedirectInIFrameCanceled) {
// 1. Test the case that redirect is a subresource.
MalwareRedirectCancelAndProceed("openWinIFrame");
@@ -429,7 +432,8 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
AssertNoInterstitial(true);
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareRedirectCanceled) {
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
+ MalwareRedirectCanceled) {
// 2. Test the case that redirect is the only resource.
MalwareRedirectCancelAndProceed("openWin");
// Clicking proceed won't do anything if the main request is cancelled
@@ -437,7 +441,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareRedirectCanceled) {
EXPECT_TRUE(YesInterstitial());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareDontProceed) {
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, MalwareDontProceed) {
GURL url = test_server()->GetURL(kEmptyPage);
AddURLResult(url, SafeBrowsingService::URL_MALWARE);
@@ -454,7 +458,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareDontProceed) {
chrome::GetActiveWebContents(browser())->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareProceed) {
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, MalwareProceed) {
GURL url = test_server()->GetURL(kEmptyPage);
AddURLResult(url, SafeBrowsingService::URL_MALWARE);
@@ -471,63 +475,10 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareProceed) {
EXPECT_EQ(url, chrome::GetActiveWebContents(browser())->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingDontProceed) {
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_PHISHING);
-
- ui_test_utils::NavigateToURL(browser(), url);
-
- SendCommand("\"takeMeBack\""); // Simulate the user clicking "proceed"
- 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(SafeBrowsingBlockingPageTest, PhishingProceed) {
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_PHISHING);
-
- ui_test_utils::NavigateToURL(browser(), url);
-
- // Note: NOTIFICATION_LOAD_STOP may come before or after the DidNavigate
- // event that clears the interstitial. We wait for DidNavigate instead.
- content::WindowedNotificationObserver observer(
- content::NOTIFICATION_NAV_ENTRY_COMMITTED,
- content::Source<NavigationController>(
- &chrome::GetActiveWebContents(browser())->GetController()));
- SendCommand("\"proceed\""); // Simulate the user clicking "proceed".
- observer.Wait();
- AssertNoInterstitial(true); // Assert the interstitial is gone
- EXPECT_EQ(url, chrome::GetActiveWebContents(browser())->GetURL());
-}
-
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingReportError) {
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
+ MalwareLearnMore) {
GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_PHISHING);
-
- ui_test_utils::NavigateToURL(browser(), url);
-
- // Note: NOTIFICATION_LOAD_STOP may come before or after the DidNavigate
- // event that clears the interstitial. We wait for DidNavigate instead.
- content::WindowedNotificationObserver observer(
- content::NOTIFICATION_NAV_ENTRY_COMMITTED,
- content::Source<NavigationController>(
- &chrome::GetActiveWebContents(browser())->GetController()));
- SendCommand("\"reportError\""); // Simulate the user clicking "report error"
- observer.Wait();
- 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(SafeBrowsingBlockingPageTest,
- PhishingLearnMore) {
- GURL url = test_server()->GetURL(kEmptyPage);
- AddURLResult(url, SafeBrowsingService::URL_PHISHING);
+ AddURLResult(url, SafeBrowsingService::URL_MALWARE);
ui_test_utils::NavigateToURL(browser(), url);
@@ -537,17 +488,18 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
content::NOTIFICATION_NAV_ENTRY_COMMITTED,
content::Source<NavigationController>(
&chrome::GetActiveWebContents(browser())->GetController()));
- SendCommand("\"learnMore\""); // Simulate the user clicking "learn more"
+ SendCommand("\"learnMore2\""); // Simulate the user clicking "learn more"
observer.Wait();
AssertNoInterstitial(false); // Assert the interstitial is gone
// We are in the help page.
EXPECT_EQ(
- "/support/bin/answer.py",
+ "/goodtoknow/online-safety/malware/",
chrome::GetActiveWebContents(browser())->GetURL().path());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareIframeDontProceed) {
+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);
@@ -568,7 +520,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareIframeDontProceed) {
}
// Crashy, http://crbug.com/68834.
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
DISABLED_MalwareIframeProceed) {
GURL url = test_server()->GetURL(kMalwarePage);
GURL iframe_url = test_server()->GetURL(kMalwareIframe);
@@ -582,7 +534,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
EXPECT_EQ(url, chrome::GetActiveWebContents(browser())->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test,
MalwareIframeReportDetails) {
GURL url = test_server()->GetURL(kMalwarePage);
GURL iframe_url = test_server()->GetURL(kMalwareIframe);
@@ -607,7 +559,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
// Verifies that the "proceed anyway" link isn't available when it is disabled
// by the corresponding policy. Also verifies that sending the "proceed"
// command anyway doesn't advance to the malware site.
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, ProceedDisabled) {
+IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageV2Test, ProceedDisabled) {
// Simulate a policy disabling the "proceed anyway" link.
browser()->profile()->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingProceedAnywayDisabled, true);

Powered by Google App Engine
This is Rietveld 408576698