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

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

Issue 330753002: Browser and unit tests for the SB interstitial V3 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed rebase-induced bugs Created 6 years, 6 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_test.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
index 1a96ed167d982e1322bd79a437dc4cf06ef8369c..f744b11d8f0b11c5578909fcc5a078bc61707720 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
@@ -305,18 +305,18 @@ class TestMalwareDetailsFactory : public MalwareDetailsFactory {
};
// A SafeBrowingBlockingPage class that lets us wait until it's hidden.
-class TestSafeBrowsingBlockingPage : public SafeBrowsingBlockingPageV2 {
+class TestSafeBrowsingBlockingPageV2 : public SafeBrowsingBlockingPageV2 {
public:
- TestSafeBrowsingBlockingPage(SafeBrowsingUIManager* manager,
- WebContents* web_contents,
- const UnsafeResourceList& unsafe_resources)
+ TestSafeBrowsingBlockingPageV2(SafeBrowsingUIManager* manager,
+ WebContents* web_contents,
+ const UnsafeResourceList& unsafe_resources)
: SafeBrowsingBlockingPageV2(manager, 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;
}
- virtual ~TestSafeBrowsingBlockingPage() {
+ virtual ~TestSafeBrowsingBlockingPageV2() {
LOG(INFO) << __FUNCTION__;
if (!wait_for_delete_)
return;
@@ -350,10 +350,56 @@ class TestSafeBrowsingBlockingPage : public SafeBrowsingBlockingPageV2 {
bool wait_for_delete_;
};
+// A SafeBrowingBlockingPage class that lets us wait until it's hidden.
+class TestSafeBrowsingBlockingPageV3 : public SafeBrowsingBlockingPageV3 {
+ public:
+ TestSafeBrowsingBlockingPageV3(SafeBrowsingUIManager* manager,
+ WebContents* web_contents,
+ const UnsafeResourceList& unsafe_resources)
+ : SafeBrowsingBlockingPageV3(manager, 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;
+ }
+
+ virtual ~TestSafeBrowsingBlockingPageV3() {
+ LOG(INFO) << __FUNCTION__;
+ if (!wait_for_delete_)
+ return;
+
+ // Notify that we are gone
+ base::MessageLoopForUI::current()->Quit();
+ wait_for_delete_ = false;
+ }
+
+ void WaitForDelete() {
+ LOG(INFO) << __FUNCTION__;
+ wait_for_delete_ = true;
+ content::RunMessageLoop();
+ }
+
+ // InterstitialPageDelegate methods:
+ virtual void CommandReceived(const std::string& command) OVERRIDE {
+ LOG(INFO) << __FUNCTION__ << " " << command;
+ SafeBrowsingBlockingPageV3::CommandReceived(command);
+ }
+ virtual void OnProceed() OVERRIDE {
+ LOG(INFO) << __FUNCTION__;
+ SafeBrowsingBlockingPageV3::OnProceed();
+ }
+ virtual void OnDontProceed() OVERRIDE {
+ LOG(INFO) << __FUNCTION__;
+ SafeBrowsingBlockingPageV3::OnDontProceed();
+ }
+
+ private:
+ bool wait_for_delete_;
+};
+
class TestSafeBrowsingBlockingPageFactory
: public SafeBrowsingBlockingPageFactory {
public:
- TestSafeBrowsingBlockingPageFactory() { }
+ TestSafeBrowsingBlockingPageFactory() : version_(2) { }
virtual ~TestSafeBrowsingBlockingPageFactory() { }
virtual SafeBrowsingBlockingPage* CreateSafeBrowsingPage(
@@ -361,28 +407,42 @@ class TestSafeBrowsingBlockingPageFactory
WebContents* web_contents,
const SafeBrowsingBlockingPage::UnsafeResourceList& unsafe_resources)
OVERRIDE {
- return new TestSafeBrowsingBlockingPage(delegate, web_contents,
- unsafe_resources);
+ if (version_ == 3) {
+ return new TestSafeBrowsingBlockingPageV3(delegate, web_contents,
+ unsafe_resources);
+ }
+ return new TestSafeBrowsingBlockingPageV2(delegate, web_contents,
+ unsafe_resources);
+ }
+
+ void SetTestVersion(int version) {
+ version_ = version;
}
+
+ private:
+ int version_;
};
} // namespace
// Tests the safe browsing blocking page in a browser.
-class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
+class SafeBrowsingBlockingPageBrowserTest
+ : public InProcessBrowserTest,
+ public testing::WithParamInterface<int> {
public:
enum Visibility {
VISIBILITY_ERROR = -1,
HIDDEN = 0,
- VISIBLE = 1,
+ VISIBLE = 1
};
- SafeBrowsingBlockingPageTest() {
+ SafeBrowsingBlockingPageBrowserTest() {
}
virtual void SetUp() OVERRIDE {
SafeBrowsingService::RegisterFactory(&factory_);
SafeBrowsingBlockingPage::RegisterFactory(&blocking_page_factory_);
+ blocking_page_factory_.SetTestVersion(GetParam());
MalwareDetails::RegisterFactory(&details_factory_);
InProcessBrowserTest::SetUp();
}
@@ -472,10 +532,17 @@ class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
if (contents->ShowingInterstitialPage() && wait_for_delete) {
// We'll get notified when the interstitial is deleted.
- TestSafeBrowsingBlockingPage* page =
- static_cast<TestSafeBrowsingBlockingPage*>(
- contents->GetInterstitialPage()->GetDelegateForTesting());
- page->WaitForDelete();
+ if (GetParam() == 3) {
+ TestSafeBrowsingBlockingPageV3* page =
+ static_cast<TestSafeBrowsingBlockingPageV3*>(
+ contents->GetInterstitialPage()->GetDelegateForTesting());
+ page->WaitForDelete();
+ } else {
+ TestSafeBrowsingBlockingPageV2* page =
+ static_cast<TestSafeBrowsingBlockingPageV2*>(
+ contents->GetInterstitialPage()->GetDelegateForTesting());
+ page->WaitForDelete();
+ }
}
// Can't use InterstitialPage::GetInterstitialPage() because that
@@ -630,9 +697,13 @@ class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
TestSafeBrowsingServiceFactory factory_;
TestSafeBrowsingBlockingPageFactory blocking_page_factory_;
- DISALLOW_COPY_AND_ASSIGN(SafeBrowsingBlockingPageTest);
+ DISALLOW_COPY_AND_ASSIGN(SafeBrowsingBlockingPageBrowserTest);
};
+INSTANTIATE_TEST_CASE_P(SafeBrowsingInterstitialVersions,
+ SafeBrowsingBlockingPageBrowserTest,
+ testing::Values(2, 3));
+
// TODO(linux_aura) http://crbug.com/163931
// TODO(win_aura) http://crbug.com/154081
#if defined(USE_AURA) && !defined(OS_CHROMEOS)
@@ -640,7 +711,7 @@ class SafeBrowsingBlockingPageTest : public InProcessBrowserTest {
#else
#define MAYBE_MalwareRedirectInIFrameCanceled MalwareRedirectInIFrameCanceled
#endif
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
MAYBE_MalwareRedirectInIFrameCanceled) {
// 1. Test the case that redirect is a subresource.
MalwareRedirectCancelAndProceed("openWinIFrame");
@@ -649,7 +720,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
AssertNoInterstitial(true);
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
MalwareRedirectCanceled) {
// 2. Test the case that redirect is the only resource.
MalwareRedirectCancelAndProceed("openWin");
@@ -658,7 +729,8 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
EXPECT_TRUE(YesInterstitial());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareDontProceed) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ MalwareDontProceed) {
#if defined(OS_WIN) && defined(USE_ASH)
// Disable this test in Metro+Ash for now (http://crbug.com/262796).
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests))
@@ -667,35 +739,51 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareDontProceed) {
SetupWarningAndNavigate(SB_THREAT_TYPE_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"));
+ if (GetParam() == 2) {
+ 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"));
+ } else {
+ EXPECT_EQ(VISIBLE, GetVisibility("primary-button"));
+ EXPECT_EQ(HIDDEN, GetVisibility("details"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("error-code"));
+ EXPECT_TRUE(Click("details-button"));
+ EXPECT_EQ(VISIBLE, GetVisibility("details"));
+ EXPECT_EQ(VISIBLE, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("error-code"));
+ EXPECT_TRUE(ClickAndWaitForDetach("primary-button"));
+ }
- EXPECT_TRUE(ClickAndWaitForDetach("back"));
AssertNoInterstitial(false); // Assert the interstitial is gone
EXPECT_EQ(GURL(url::kAboutBlankURL), // Back to "about:blank"
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareProceed) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest, MalwareProceed) {
GURL url = SetupWarningAndNavigate(SB_THREAT_TYPE_URL_MALWARE);
- EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ if (GetParam() == 2)
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ else
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed-link"));
AssertNoInterstitial(true); // Assert the interstitial is gone.
EXPECT_EQ(url,
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
- MalwareLearnMore) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ MalwareLearnMoreV2) {
+ if (GetParam() == 3) return; // Don't have this link in V3.
SetupWarningAndNavigate(SB_THREAT_TYPE_URL_MALWARE);
EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link"));
@@ -707,7 +795,7 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
browser()->tab_strip_model()->GetActiveWebContents()->GetURL().path());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
MalwareIframeDontProceed) {
#if defined(OS_WIN) && defined(USE_ASH)
// Disable this test in Metro+Ash for now (http://crbug.com/262796).
@@ -717,29 +805,45 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
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"));
+ if (GetParam() == 2) {
+ 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"));
+ } else {
+ EXPECT_EQ(VISIBLE, GetVisibility("primary-button"));
+ EXPECT_EQ(HIDDEN, GetVisibility("details"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("error-code"));
+ EXPECT_TRUE(Click("details-button"));
+ EXPECT_EQ(VISIBLE, GetVisibility("details"));
+ EXPECT_EQ(VISIBLE, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("error-code"));
+ EXPECT_TRUE(ClickAndWaitForDetach("primary-button"));
+ }
- EXPECT_TRUE(ClickAndWaitForDetach("back"));
AssertNoInterstitial(false); // Assert the interstitial is gone
EXPECT_EQ(GURL(url::kAboutBlankURL), // Back to "about:blank"
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareIframeProceed) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ MalwareIframeProceed) {
GURL url = SetupMalwareIframeWarningAndNavigate();
- EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ if (GetParam() == 2)
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ else
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed-link"));
AssertNoInterstitial(true); // Assert the interstitial is gone
EXPECT_EQ(url,
@@ -753,8 +857,11 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MalwareIframeProceed) {
#else
#define MAYBE_MalwareIframeReportDetails MalwareIframeReportDetails
#endif
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
MAYBE_MalwareIframeReportDetails) {
+ // TODO(felt): Enable for V3 when the checkbox is added.
+ if (GetParam() == 3) return;
+
scoped_refptr<content::MessageLoopRunner> malware_report_sent_runner(
new content::MessageLoopRunner);
SetReportSentCallback(malware_report_sent_runner->QuitClosure());
@@ -795,12 +902,13 @@ 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_P(SafeBrowsingBlockingPageBrowserTest, ProceedDisabled) {
#if defined(OS_WIN) && defined(USE_ASH)
// Disable this test in Metro+Ash for now (http://crbug.com/262796).
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests))
return;
#endif
+ if (GetParam() == 3) return;
// Simulate a policy disabling the "proceed anyway" link.
browser()->profile()->GetPrefs()->SetBoolean(
@@ -808,17 +916,28 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, ProceedDisabled) {
SetupWarningAndNavigate(SB_THREAT_TYPE_URL_MALWARE);
- EXPECT_EQ(VISIBLE, GetVisibility("check-report"));
- EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
- EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
- EXPECT_EQ(HIDDEN, GetVisibility("proceed-span"));
- EXPECT_TRUE(Click("see-more-link"));
- EXPECT_EQ(VISIBLE, GetVisibility("show-diagnostic-link"));
- EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
- EXPECT_EQ(HIDDEN, GetVisibility("proceed-span"));
+ if (GetParam() == 2) {
+ EXPECT_EQ(VISIBLE, GetVisibility("check-report"));
+ EXPECT_EQ(HIDDEN, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-span"));
+ EXPECT_TRUE(Click("see-more-link"));
+ EXPECT_EQ(VISIBLE, GetVisibility("show-diagnostic-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-span"));
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ } else {
+ EXPECT_EQ(VISIBLE, GetVisibility("primary-button"));
+ EXPECT_EQ(HIDDEN, GetVisibility("details"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("final-paragraph"));
+ EXPECT_TRUE(Click("details-button"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("final-paragraph"));
+ SendCommand("proceed");
+ }
// The "proceed" command should go back instead, if proceeding is disabled.
- EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
AssertNoInterstitial(true);
EXPECT_EQ(GURL(url::kAboutBlankURL), // Back to "about:blank"
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
@@ -827,12 +946,14 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, ProceedDisabled) {
// Verifies that the reporting checkbox is hidden on non-HTTP pages.
// TODO(mattm): Should also verify that no report is sent, but there isn't a
// good way to do that in the current design.
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, ReportingDisabled) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest, ReportingDisabled) {
#if defined(OS_WIN) && defined(USE_ASH)
// Disable this test in Metro+Ash for now (http://crbug.com/262796).
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests))
return;
#endif
+ // TODO(felt): Enable for V3 when the checkbox is added.
+ if (GetParam() == 3) return;
browser()->profile()->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
@@ -859,7 +980,8 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, ReportingDisabled) {
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingDontProceed) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ PhishingDontProceed) {
#if defined(OS_WIN) && defined(USE_ASH)
// Disable this test in Metro+Ash for now (http://crbug.com/262796).
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests))
@@ -868,19 +990,31 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingDontProceed) {
SetupWarningAndNavigate(SB_THREAT_TYPE_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"));
+ if (GetParam() == 2) {
+ 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"));
+ } else {
+ EXPECT_EQ(VISIBLE, GetVisibility("primary-button"));
+ EXPECT_EQ(HIDDEN, GetVisibility("details"));
+ EXPECT_EQ(HIDDEN, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("error-code"));
+ EXPECT_TRUE(Click("details-button"));
+ EXPECT_EQ(VISIBLE, GetVisibility("details"));
+ EXPECT_EQ(VISIBLE, GetVisibility("proceed-link"));
+ EXPECT_EQ(HIDDEN, GetVisibility("error-code"));
+ EXPECT_TRUE(ClickAndWaitForDetach("primary-button"));
+ }
- EXPECT_TRUE(ClickAndWaitForDetach("back"));
AssertNoInterstitial(false); // Assert the interstitial is gone
EXPECT_EQ(GURL(url::kAboutBlankURL), // We are back to "about:blank".
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
@@ -893,12 +1027,15 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingDontProceed) {
#else
#define MAYBE_PhishingProceed PhishingProceed
#endif
-
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MAYBE_PhishingProceed) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ MAYBE_PhishingProceed) {
GURL url = SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING);
LOG(INFO) << "1";
- EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ if (GetParam() == 2)
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed"));
+ else
+ EXPECT_TRUE(ClickAndWaitForDetach("proceed-link"));
LOG(INFO) << "2";
AssertNoInterstitial(true); // Assert the interstitial is gone
LOG(INFO) << "3";
@@ -907,7 +1044,9 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MAYBE_PhishingProceed) {
LOG(INFO) << "4";
}
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingReportError) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ PhishingReportErrorV2) {
+ if (GetParam() == 3) return; // Not supported in V3.
SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING);
EXPECT_TRUE(ClickAndWaitForDetach("report-error-link"));
@@ -927,11 +1066,15 @@ IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, PhishingReportError) {
#define MAYBE_PhishingLearnMore PhishingLearnMore
#endif
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageTest, MAYBE_PhishingLearnMore) {
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageBrowserTest,
+ MAYBE_PhishingLearnMore) {
SetupWarningAndNavigate(SB_THREAT_TYPE_URL_PHISHING);
LOG(INFO) << "1";
- EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link"));
+ if (GetParam() == 2)
+ EXPECT_TRUE(ClickAndWaitForDetach("learn-more-link"));
+ else
+ EXPECT_TRUE(ClickAndWaitForDetach("help-link"));
LOG(INFO) << "2";
AssertNoInterstitial(false); // Assert the interstitial is gone

Powered by Google App Engine
This is Rietveld 408576698