Chromium Code Reviews| 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( |