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

Unified Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.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_unittest.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc
index f0df24c0d0e8bef69d34b251b388dcdee1a8b247..5735152337e827fa8ffb2bbd1c031a969442c173 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc
@@ -62,6 +62,21 @@ class TestSafeBrowsingBlockingPageV2 : public SafeBrowsingBlockingPageV2 {
}
};
+// A SafeBrowingBlockingPage class that does not create windows.
+class TestSafeBrowsingBlockingPageV3 : public SafeBrowsingBlockingPageV3 {
+ public:
+ TestSafeBrowsingBlockingPageV3(SafeBrowsingUIManager* manager,
+ WebContents* web_contents,
+ const UnsafeResourceList& unsafe_resources)
+ : SafeBrowsingBlockingPageV3(manager, web_contents, unsafe_resources) {
+ // Don't delay details at all for the unittest.
+ malware_details_proceed_delay_ms_ = 0;
+
+ // Don't create a view.
+ interstitial_page()->DontCreateViewForTesting();
+ }
+};
+
class TestSafeBrowsingUIManager: public SafeBrowsingUIManager {
public:
explicit TestSafeBrowsingUIManager(SafeBrowsingService* service)
@@ -83,6 +98,7 @@ class TestSafeBrowsingUIManager: public SafeBrowsingUIManager {
std::list<std::string> details_;
};
+template <class SBInterstitialPage>
class TestSafeBrowsingBlockingPageFactory
: public SafeBrowsingBlockingPageFactory {
public:
@@ -99,8 +115,7 @@ class TestSafeBrowsingBlockingPageFactory
if (unsafe_resources.size() == 1 &&
(unsafe_resources[0].threat_type == SB_THREAT_TYPE_URL_MALWARE ||
unsafe_resources[0].threat_type == SB_THREAT_TYPE_URL_PHISHING)) {
- return new TestSafeBrowsingBlockingPageV2(manager, web_contents,
- unsafe_resources);
+ return new SBInterstitialPage(manager, web_contents, unsafe_resources);
}
return new TestSafeBrowsingBlockingPageV1(manager, web_contents,
unsafe_resources);
@@ -109,6 +124,7 @@ class TestSafeBrowsingBlockingPageFactory
} // namespace
+template <class SBInterstitialPage>
class SafeBrowsingBlockingPageTest : public ChromeRenderViewHostTestHarness {
public:
// The decision the user made.
@@ -231,362 +247,376 @@ class SafeBrowsingBlockingPageTest : public ChromeRenderViewHostTestHarness {
}
UserResponse user_response_;
- TestSafeBrowsingBlockingPageFactory factory_;
+ TestSafeBrowsingBlockingPageFactory<SBInterstitialPage> factory_;
};
+typedef ::testing::Types<TestSafeBrowsingBlockingPageV2,
+ TestSafeBrowsingBlockingPageV3> InterstitialTestTypes;
+TYPED_TEST_CASE(SafeBrowsingBlockingPageTest, InterstitialTestTypes);
+
// Tests showing a blocking page for a malware page and not proceeding.
-TEST_F(SafeBrowsingBlockingPageTest, MalwarePageDontProceed) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, MalwarePageDontProceed) {
// Enable malware details.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
base::RunLoop().RunUntilIdle();
// Simulate the user clicking "don't proceed".
- DontProceedThroughInterstitial(sb_interstitial);
+ this->DontProceedThroughInterstitial(sb_interstitial);
// The interstitial should be gone.
- EXPECT_EQ(CANCEL, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ EXPECT_EQ(this->CANCEL, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// We did not proceed, the pending entry should be gone.
- EXPECT_FALSE(controller().GetPendingEntry());
+ EXPECT_FALSE(this->controller().GetPendingEntry());
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a malware page and then proceeding.
-TEST_F(SafeBrowsingBlockingPageTest, MalwarePageProceed) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, MalwarePageProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Simulate the user clicking "proceed".
- ProceedThroughInterstitial(sb_interstitial);
+ this->ProceedThroughInterstitial(sb_interstitial);
// The interstitial is shown until the navigation commits.
- ASSERT_TRUE(InterstitialPage::GetInterstitialPage(web_contents()));
+ ASSERT_TRUE(InterstitialPage::GetInterstitialPage(this->web_contents()));
// Commit the navigation.
- Navigate(kBadURL, 1);
+ this->Navigate(kBadURL, 1);
// The interstitial should be gone now.
- ASSERT_FALSE(InterstitialPage::GetInterstitialPage(web_contents()));
+ ASSERT_FALSE(InterstitialPage::GetInterstitialPage(this->web_contents()));
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a page that contains malware subresources
// and not proceeding.
-TEST_F(SafeBrowsingBlockingPageTest, PageWithMalwareResourceDontProceed) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, PageWithMalwareResourceDontProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Navigate somewhere.
- Navigate(kGoogleURL, 1);
+ this->Navigate(kGoogleURL, 1);
// Navigate somewhere else.
- Navigate(kGoodURL, 2);
+ this->Navigate(kGoodURL, 2);
// Simulate that page loading a bad-resource triggering an interstitial.
- ShowInterstitial(true, kBadURL);
+ this->ShowInterstitial(true, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Simulate the user clicking "don't proceed".
- DontProceedThroughSubresourceInterstitial(sb_interstitial);
- EXPECT_EQ(CANCEL, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ this->DontProceedThroughSubresourceInterstitial(sb_interstitial);
+ EXPECT_EQ(this->CANCEL, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// We did not proceed, we should be back to the first page, the 2nd one should
// have been removed from the navigation controller.
- ASSERT_EQ(1, controller().GetEntryCount());
- EXPECT_EQ(kGoogleURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(1, this->controller().GetEntryCount());
+ EXPECT_EQ(kGoogleURL, this->controller().GetActiveEntry()->GetURL().spec());
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a page that contains malware subresources
// and proceeding.
-TEST_F(SafeBrowsingBlockingPageTest, PageWithMalwareResourceProceed) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, PageWithMalwareResourceProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Navigate somewhere.
- Navigate(kGoodURL, 1);
+ this->Navigate(kGoodURL, 1);
// Simulate that page loading a bad-resource triggering an interstitial.
- ShowInterstitial(true, kBadURL);
+ this->ShowInterstitial(true, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Simulate the user clicking "proceed".
- ProceedThroughInterstitial(sb_interstitial);
- EXPECT_EQ(OK, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ this->ProceedThroughInterstitial(sb_interstitial);
+ EXPECT_EQ(this->OK, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// We did proceed, we should be back to showing the page.
- ASSERT_EQ(1, controller().GetEntryCount());
- EXPECT_EQ(kGoodURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(1, this->controller().GetEntryCount());
+ EXPECT_EQ(kGoodURL, this->controller().GetActiveEntry()->GetURL().spec());
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a page that contains multiple malware
// subresources and not proceeding. This just tests that the extra malware
// subresources (which trigger queued interstitial pages) do not break anything.
-TEST_F(SafeBrowsingBlockingPageTest,
+TYPED_TEST(SafeBrowsingBlockingPageTest,
PageWithMultipleMalwareResourceDontProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Navigate somewhere.
- Navigate(kGoogleURL, 1);
+ this->Navigate(kGoogleURL, 1);
// Navigate somewhere else.
- Navigate(kGoodURL, 2);
+ this->Navigate(kGoodURL, 2);
// Simulate that page loading a bad-resource triggering an interstitial.
- ShowInterstitial(true, kBadURL);
+ this->ShowInterstitial(true, kBadURL);
// More bad resources loading causing more interstitials. The new
// interstitials should be queued.
- ShowInterstitial(true, kBadURL2);
- ShowInterstitial(true, kBadURL3);
+ this->ShowInterstitial(true, kBadURL2);
+ this->ShowInterstitial(true, kBadURL3);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Simulate the user clicking "don't proceed".
- DontProceedThroughSubresourceInterstitial(sb_interstitial);
- EXPECT_EQ(CANCEL, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ this->DontProceedThroughSubresourceInterstitial(sb_interstitial);
+ EXPECT_EQ(this->CANCEL, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// We did not proceed, we should be back to the first page, the 2nd one should
// have been removed from the navigation controller.
- ASSERT_EQ(1, controller().GetEntryCount());
- EXPECT_EQ(kGoogleURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(1, this->controller().GetEntryCount());
+ EXPECT_EQ(kGoogleURL, this->controller().GetActiveEntry()->GetURL().spec());
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a page that contains multiple malware
// subresources and proceeding through the first interstitial, but not the next.
-TEST_F(SafeBrowsingBlockingPageTest,
+TYPED_TEST(SafeBrowsingBlockingPageTest,
PageWithMultipleMalwareResourceProceedThenDontProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Navigate somewhere.
- Navigate(kGoogleURL, 1);
+ this->Navigate(kGoogleURL, 1);
// Navigate somewhere else.
- Navigate(kGoodURL, 2);
+ this->Navigate(kGoodURL, 2);
// Simulate that page loading a bad-resource triggering an interstitial.
- ShowInterstitial(true, kBadURL);
+ this->ShowInterstitial(true, kBadURL);
// More bad resources loading causing more interstitials. The new
// interstitials should be queued.
- ShowInterstitial(true, kBadURL2);
- ShowInterstitial(true, kBadURL3);
+ this->ShowInterstitial(true, kBadURL2);
+ this->ShowInterstitial(true, kBadURL3);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Proceed through the 1st interstitial.
- ProceedThroughInterstitial(sb_interstitial);
- EXPECT_EQ(OK, user_response());
+ this->ProceedThroughInterstitial(sb_interstitial);
+ EXPECT_EQ(this->OK, this->user_response());
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
- ResetUserResponse();
+ this->ResetUserResponse();
// We should land to a 2nd interstitial (aggregating all the malware resources
// loaded while the 1st interstitial was showing).
- sb_interstitial = GetSafeBrowsingBlockingPage();
+ sb_interstitial = this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Don't proceed through the 2nd interstitial.
- DontProceedThroughSubresourceInterstitial(sb_interstitial);
- EXPECT_EQ(CANCEL, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ this->DontProceedThroughSubresourceInterstitial(sb_interstitial);
+ EXPECT_EQ(this->CANCEL, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// We did not proceed, we should be back to the first page, the 2nd one should
// have been removed from the navigation controller.
- ASSERT_EQ(1, controller().GetEntryCount());
- EXPECT_EQ(kGoogleURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(1, this->controller().GetEntryCount());
+ EXPECT_EQ(kGoogleURL, this->controller().GetActiveEntry()->GetURL().spec());
// No report should have been sent -- we don't create a report the
// second time.
- EXPECT_EQ(0u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(0u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a page that contains multiple malware
// subresources and proceeding through the multiple interstitials.
-TEST_F(SafeBrowsingBlockingPageTest, PageWithMultipleMalwareResourceProceed) {
+TYPED_TEST(SafeBrowsingBlockingPageTest,
+ PageWithMultipleMalwareResourceProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Navigate somewhere else.
- Navigate(kGoodURL, 1);
+ this->Navigate(kGoodURL, 1);
// Simulate that page loading a bad-resource triggering an interstitial.
- ShowInterstitial(true, kBadURL);
+ this->ShowInterstitial(true, kBadURL);
// More bad resources loading causing more interstitials. The new
// interstitials should be queued.
- ShowInterstitial(true, kBadURL2);
- ShowInterstitial(true, kBadURL3);
+ this->ShowInterstitial(true, kBadURL2);
+ this->ShowInterstitial(true, kBadURL3);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Proceed through the 1st interstitial.
- ProceedThroughInterstitial(sb_interstitial);
- EXPECT_EQ(OK, user_response());
+ this->ProceedThroughInterstitial(sb_interstitial);
+ EXPECT_EQ(this->OK, this->user_response());
// A report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
- ResetUserResponse();
+ this->ResetUserResponse();
// We should land to a 2nd interstitial (aggregating all the malware resources
// loaded while the 1st interstitial was showing).
- sb_interstitial = GetSafeBrowsingBlockingPage();
+ sb_interstitial = this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Proceed through the 2nd interstitial.
- ProceedThroughInterstitial(sb_interstitial);
- EXPECT_EQ(OK, user_response());
+ this->ProceedThroughInterstitial(sb_interstitial);
+ EXPECT_EQ(this->OK, this->user_response());
// We did proceed, we should be back to the initial page.
- ASSERT_EQ(1, controller().GetEntryCount());
- EXPECT_EQ(kGoodURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(1, this->controller().GetEntryCount());
+ EXPECT_EQ(kGoodURL, this->controller().GetActiveEntry()->GetURL().spec());
// No report should have been sent -- we don't create a report the
// second time.
- EXPECT_EQ(0u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(0u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page then navigating back and forth to make sure the
// controller entries are OK. http://crbug.com/17627
-TEST_F(SafeBrowsingBlockingPageTest, NavigatingBackAndForth) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, NavigatingBackAndForth) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Navigate somewhere.
- Navigate(kGoodURL, 1);
+ this->Navigate(kGoodURL, 1);
// Now navigate to a bad page triggerring an interstitial.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Proceed, then navigate back.
- ProceedThroughInterstitial(sb_interstitial);
- Navigate(kBadURL, 2); // Commit the navigation.
- GoBack(true);
+ this->ProceedThroughInterstitial(sb_interstitial);
+ this->Navigate(kBadURL, 2); // Commit the navigation.
+ this->GoBack(true);
// We are back on the good page.
- sb_interstitial = GetSafeBrowsingBlockingPage();
+ sb_interstitial = this->GetSafeBrowsingBlockingPage();
ASSERT_FALSE(sb_interstitial);
- ASSERT_EQ(2, controller().GetEntryCount());
- EXPECT_EQ(kGoodURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(2, this->controller().GetEntryCount());
+ EXPECT_EQ(kGoodURL, this->controller().GetActiveEntry()->GetURL().spec());
// Navigate forward to the malware URL.
- web_contents()->GetController().GoForward();
- ShowInterstitial(false, kBadURL);
- sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->web_contents()->GetController().GoForward();
+ this->ShowInterstitial(false, kBadURL);
+ sb_interstitial = this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
// Let's proceed and make sure everything is OK (bug 17627).
- ProceedThroughInterstitial(sb_interstitial);
- Navigate(kBadURL, 2); // Commit the navigation.
- sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ProceedThroughInterstitial(sb_interstitial);
+ this->Navigate(kBadURL, 2); // Commit the navigation.
+ sb_interstitial = this->GetSafeBrowsingBlockingPage();
ASSERT_FALSE(sb_interstitial);
- ASSERT_EQ(2, controller().GetEntryCount());
- EXPECT_EQ(kBadURL, controller().GetActiveEntry()->GetURL().spec());
+ ASSERT_EQ(2, this->controller().GetEntryCount());
+ EXPECT_EQ(kBadURL, this->controller().GetActiveEntry()->GetURL().spec());
// Two reports should have been sent.
- EXPECT_EQ(2u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(2u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests that calling "don't proceed" after "proceed" has been called doesn't
// cause problems. http://crbug.com/30079
-TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) {
// Enable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, true);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
base::RunLoop().RunUntilIdle();
@@ -600,63 +630,65 @@ TEST_F(SafeBrowsingBlockingPageTest, ProceedThenDontProceed) {
base::RunLoop().RunUntilIdle();
// The interstitial should be gone.
- EXPECT_EQ(OK, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ EXPECT_EQ(this->OK, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// Only one report should have been sent.
- EXPECT_EQ(1u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(1u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Tests showing a blocking page for a malware page with reports disabled.
-TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsDisabled) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, MalwareReportsDisabled) {
// Disable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, false);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
base::RunLoop().RunUntilIdle();
// Simulate the user clicking "don't proceed".
- DontProceedThroughInterstitial(sb_interstitial);
+ this->DontProceedThroughInterstitial(sb_interstitial);
// The interstitial should be gone.
- EXPECT_EQ(CANCEL, user_response());
- EXPECT_FALSE(GetSafeBrowsingBlockingPage());
+ EXPECT_EQ(this->CANCEL, this->user_response());
+ EXPECT_FALSE(this->GetSafeBrowsingBlockingPage());
// We did not proceed, the pending entry should be gone.
- EXPECT_FALSE(controller().GetPendingEntry());
+ EXPECT_FALSE(this->controller().GetPendingEntry());
// No report should have been sent.
- EXPECT_EQ(0u, ui_manager_->GetDetails()->size());
- ui_manager_->GetDetails()->clear();
+ EXPECT_EQ(0u, this->ui_manager_->GetDetails()->size());
+ this->ui_manager_->GetDetails()->clear();
}
// Test that toggling the checkbox has the anticipated effects.
-TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsToggling) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, MalwareReportsToggling) {
// Disable malware reports.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled, false);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
base::RunLoop().RunUntilIdle();
@@ -678,19 +710,21 @@ TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsToggling) {
}
// Test that the transition from old to new preference works.
-TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsTransitionEnabled) {
+TYPED_TEST(SafeBrowsingBlockingPageTest,
+ DISABLED_MalwareReportsTransitionEnabled) {
mattm 2014/06/17 18:38:48 and this got marked disabled?
felt 2014/06/17 18:40:14 This had to be disabled because the checkbox isn't
// The old pref is enabled.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
- content::PAGE_TRANSITION_TYPED, std::string());
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
base::RunLoop().RunUntilIdle();
@@ -699,7 +733,7 @@ TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsTransitionEnabled) {
EXPECT_FALSE(profile->GetPrefs()->GetBoolean(
prefs::kSafeBrowsingExtendedReportingEnabled));
- ProceedThroughInterstitial(sb_interstitial);
+ this->ProceedThroughInterstitial(sb_interstitial);
// Since the user has proceeded without changing the checkbox, the new pref
// has been updated.
@@ -709,19 +743,20 @@ TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsTransitionEnabled) {
// Test that the transition from old to new preference still respects the
// user's checkbox preferences.
-TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsTransitionDisabled) {
+TYPED_TEST(SafeBrowsingBlockingPageTest, MalwareReportsTransitionDisabled) {
// The old pref is enabled.
Profile* profile = Profile::FromBrowserContext(
- web_contents()->GetBrowserContext());
+ this->web_contents()->GetBrowserContext());
profile->GetPrefs()->SetBoolean(prefs::kSafeBrowsingReportingEnabled, true);
// Start a load.
- controller().LoadURL(GURL(kBadURL), content::Referrer(),
- content::PAGE_TRANSITION_TYPED, std::string());
+ this->controller().LoadURL(GURL(kBadURL), content::Referrer(),
+ content::PAGE_TRANSITION_TYPED, std::string());
// Simulate the load causing a safe browsing interstitial to be shown.
- ShowInterstitial(false, kBadURL);
- SafeBrowsingBlockingPage* sb_interstitial = GetSafeBrowsingBlockingPage();
+ this->ShowInterstitial(false, kBadURL);
+ SafeBrowsingBlockingPage* sb_interstitial =
+ this->GetSafeBrowsingBlockingPage();
ASSERT_TRUE(sb_interstitial);
base::RunLoop().RunUntilIdle();
@@ -733,7 +768,7 @@ TEST_F(SafeBrowsingBlockingPageTest, MalwareReportsTransitionDisabled) {
// Simulate the user uncheck the report agreement checkbox.
sb_interstitial->SetReportingPreference(false);
- ProceedThroughInterstitial(sb_interstitial);
+ this->ProceedThroughInterstitial(sb_interstitial);
// The new pref is turned off.
EXPECT_FALSE(profile->GetPrefs()->GetBoolean(

Powered by Google App Engine
This is Rietveld 408576698