| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This test creates a safebrowsing service using test safebrowsing database | 5 // This test creates a safebrowsing service using test safebrowsing database |
| 6 // and a test protocol manager. It is used to test logics in safebrowsing | 6 // and a test protocol manager. It is used to test logics in safebrowsing |
| 7 // service. | 7 // service. |
| 8 | 8 |
| 9 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 9 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 10 | 10 |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 | 105 |
| 106 class MockSubresourceFilterDriver | 106 class MockSubresourceFilterDriver |
| 107 : public subresource_filter::ContentSubresourceFilterDriver { | 107 : public subresource_filter::ContentSubresourceFilterDriver { |
| 108 public: | 108 public: |
| 109 explicit MockSubresourceFilterDriver( | 109 explicit MockSubresourceFilterDriver( |
| 110 content::RenderFrameHost* render_frame_host) | 110 content::RenderFrameHost* render_frame_host) |
| 111 : subresource_filter::ContentSubresourceFilterDriver(render_frame_host) {} | 111 : subresource_filter::ContentSubresourceFilterDriver(render_frame_host) {} |
| 112 | 112 |
| 113 ~MockSubresourceFilterDriver() override = default; | 113 ~MockSubresourceFilterDriver() override = default; |
| 114 | 114 |
| 115 MOCK_METHOD3(ActivateForProvisionalLoad, | 115 MOCK_METHOD2(ActivateForNextCommittedLoad, |
| 116 void(subresource_filter::ActivationLevel, const GURL&, bool)); | 116 void(subresource_filter::ActivationLevel, bool)); |
| 117 | 117 |
| 118 private: | 118 private: |
| 119 DISALLOW_COPY_AND_ASSIGN(MockSubresourceFilterDriver); | 119 DISALLOW_COPY_AND_ASSIGN(MockSubresourceFilterDriver); |
| 120 }; | 120 }; |
| 121 | 121 |
| 122 class NeverCompletingHttpResponse : public net::test_server::HttpResponse { | 122 class NeverCompletingHttpResponse : public net::test_server::HttpResponse { |
| 123 public: | 123 public: |
| 124 ~NeverCompletingHttpResponse() override {} | 124 ~NeverCompletingHttpResponse() override {} |
| 125 | 125 |
| 126 void SendResponse( | 126 void SendResponse( |
| (...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 GURL bad_url = embedded_test_server()->GetURL(kMalwarePage); | 947 GURL bad_url = embedded_test_server()->GetURL(kMalwarePage); |
| 948 | 948 |
| 949 SBFullHashResult malware_full_hash; | 949 SBFullHashResult malware_full_hash; |
| 950 GenUrlFullHashResultWithMetadata(bad_url, | 950 GenUrlFullHashResultWithMetadata(bad_url, |
| 951 PHISH, | 951 PHISH, |
| 952 ThreatPatternType::SOCIAL_ENGINEERING_ADS, | 952 ThreatPatternType::SOCIAL_ENGINEERING_ADS, |
| 953 &malware_full_hash); | 953 &malware_full_hash); |
| 954 SetupResponseForUrl(bad_url, malware_full_hash); | 954 SetupResponseForUrl(bad_url, malware_full_hash); |
| 955 | 955 |
| 956 WebContents* main_contents = | 956 WebContents* main_contents = |
| 957 browser()->tab_strip_model()->GetActiveWebContents(); | 957 browser()->tab_strip_model()->GetActiveWebContents(); |
| 958 | 958 |
| 959 EXPECT_CALL(observer_, OnSafeBrowsingHit(IsUnsafeResourceFor(bad_url))) | 959 EXPECT_CALL(observer_, OnSafeBrowsingHit(IsUnsafeResourceFor(bad_url))) |
| 960 .Times(1); | 960 .Times(1); |
| 961 EXPECT_CALL(*driver(), ActivateForProvisionalLoad(::testing::_, ::testing::_, | 961 EXPECT_CALL(*driver(), |
| 962 ::testing::_)) | 962 ActivateForNextCommittedLoad(::testing::_, ::testing::_)) |
| 963 .Times(0); | 963 .Times(0); |
| 964 ui_test_utils::NavigateToURL(browser(), bad_url); | 964 ui_test_utils::NavigateToURL(browser(), bad_url); |
| 965 Mock::VerifyAndClearExpectations(&observer_); | 965 Mock::VerifyAndClearExpectations(&observer_); |
| 966 ASSERT_TRUE(got_hit_report()); | 966 ASSERT_TRUE(got_hit_report()); |
| 967 | 967 |
| 968 content::WaitForInterstitialAttach(main_contents); | 968 content::WaitForInterstitialAttach(main_contents); |
| 969 EXPECT_TRUE(ShowingInterstitialPage()); | 969 EXPECT_TRUE(ShowingInterstitialPage()); |
| 970 testing::Mock::VerifyAndClearExpectations(driver()); | 970 testing::Mock::VerifyAndClearExpectations(driver()); |
| 971 EXPECT_CALL(*driver(), ActivateForProvisionalLoad(::testing::_, ::testing::_, | 971 EXPECT_CALL(*driver(), |
| 972 ::testing::_)) | 972 ActivateForNextCommittedLoad(::testing::_, ::testing::_)) |
| 973 .Times(1); | 973 .Times(1); |
| 974 InterstitialPage* interstitial_page = main_contents->GetInterstitialPage(); | 974 InterstitialPage* interstitial_page = main_contents->GetInterstitialPage(); |
| 975 ASSERT_TRUE(interstitial_page); | 975 ASSERT_TRUE(interstitial_page); |
| 976 interstitial_page->Proceed(); | 976 interstitial_page->Proceed(); |
| 977 content::WaitForInterstitialDetach(main_contents); | 977 content::WaitForInterstitialDetach(main_contents); |
| 978 EXPECT_FALSE(ShowingInterstitialPage()); | 978 EXPECT_FALSE(ShowingInterstitialPage()); |
| 979 testing::Mock::VerifyAndClearExpectations(driver()); | 979 testing::Mock::VerifyAndClearExpectations(driver()); |
| 980 } | 980 } |
| 981 | 981 |
| 982 IN_PROC_BROWSER_TEST_F(SafeBrowsingServiceTest, SocEngReportingBlacklistEmpty) { | 982 IN_PROC_BROWSER_TEST_F(SafeBrowsingServiceTest, SocEngReportingBlacklistEmpty) { |
| 983 // Tests that URLS which doesn't belong to the SOCIAL_ENGINEERING_ADS threat | 983 // Tests that URLS which doesn't belong to the SOCIAL_ENGINEERING_ADS threat |
| 984 // type aren't seen by the Subresource Filter. | 984 // type aren't seen by the Subresource Filter. |
| 985 subresource_filter::testing::ScopedSubresourceFilterFeatureToggle | 985 subresource_filter::testing::ScopedSubresourceFilterFeatureToggle |
| 986 scoped_feature_toggle( | 986 scoped_feature_toggle( |
| 987 base::FeatureList::OVERRIDE_ENABLE_FEATURE, | 987 base::FeatureList::OVERRIDE_ENABLE_FEATURE, |
| 988 subresource_filter::kActivationLevelEnabled, | 988 subresource_filter::kActivationLevelEnabled, |
| 989 subresource_filter::kActivationScopeNoSites, | 989 subresource_filter::kActivationScopeNoSites, |
| 990 subresource_filter::kActivationListSocialEngineeringAdsInterstitial); | 990 subresource_filter::kActivationListSocialEngineeringAdsInterstitial); |
| 991 | 991 |
| 992 GURL bad_url = embedded_test_server()->base_url().Resolve(kMalwarePage); | 992 GURL bad_url = embedded_test_server()->base_url().Resolve(kMalwarePage); |
| 993 | 993 |
| 994 SBFullHashResult malware_full_hash; | 994 SBFullHashResult malware_full_hash; |
| 995 GenUrlFullHashResult(bad_url, MALWARE, &malware_full_hash); | 995 GenUrlFullHashResult(bad_url, MALWARE, &malware_full_hash); |
| 996 SetupResponseForUrl(bad_url, malware_full_hash); | 996 SetupResponseForUrl(bad_url, malware_full_hash); |
| 997 | 997 |
| 998 WebContents* main_contents = | 998 WebContents* main_contents = |
| 999 browser()->tab_strip_model()->GetActiveWebContents(); | 999 browser()->tab_strip_model()->GetActiveWebContents(); |
| 1000 | 1000 |
| 1001 EXPECT_CALL(observer_, OnSafeBrowsingHit(IsUnsafeResourceFor(bad_url))) | 1001 EXPECT_CALL(observer_, OnSafeBrowsingHit(IsUnsafeResourceFor(bad_url))) |
| 1002 .Times(1); | 1002 .Times(1); |
| 1003 EXPECT_CALL(*driver(), ActivateForProvisionalLoad(::testing::_, ::testing::_, | 1003 EXPECT_CALL(*driver(), |
| 1004 ::testing::_)) | 1004 ActivateForNextCommittedLoad(::testing::_, ::testing::_)) |
| 1005 .Times(0); | 1005 .Times(0); |
| 1006 ui_test_utils::NavigateToURL(browser(), bad_url); | 1006 ui_test_utils::NavigateToURL(browser(), bad_url); |
| 1007 testing::Mock::VerifyAndClearExpectations(driver()); | 1007 testing::Mock::VerifyAndClearExpectations(driver()); |
| 1008 ASSERT_TRUE(got_hit_report()); | 1008 ASSERT_TRUE(got_hit_report()); |
| 1009 | 1009 |
| 1010 content::WaitForInterstitialAttach(main_contents); | 1010 content::WaitForInterstitialAttach(main_contents); |
| 1011 EXPECT_TRUE(ShowingInterstitialPage()); | 1011 EXPECT_TRUE(ShowingInterstitialPage()); |
| 1012 testing::Mock::VerifyAndClearExpectations(driver()); | 1012 testing::Mock::VerifyAndClearExpectations(driver()); |
| 1013 EXPECT_CALL(*driver(), ActivateForProvisionalLoad(::testing::_, ::testing::_, | 1013 EXPECT_CALL(*driver(), |
| 1014 ::testing::_)) | 1014 ActivateForNextCommittedLoad(::testing::_, ::testing::_)) |
| 1015 .Times(0); | 1015 .Times(0); |
| 1016 InterstitialPage* interstitial_page = main_contents->GetInterstitialPage(); | 1016 InterstitialPage* interstitial_page = main_contents->GetInterstitialPage(); |
| 1017 ASSERT_TRUE(interstitial_page); | 1017 ASSERT_TRUE(interstitial_page); |
| 1018 interstitial_page->Proceed(); | 1018 interstitial_page->Proceed(); |
| 1019 content::WaitForInterstitialDetach(main_contents); | 1019 content::WaitForInterstitialDetach(main_contents); |
| 1020 EXPECT_FALSE(ShowingInterstitialPage()); | 1020 EXPECT_FALSE(ShowingInterstitialPage()); |
| 1021 testing::Mock::VerifyAndClearExpectations(driver()); | 1021 testing::Mock::VerifyAndClearExpectations(driver()); |
| 1022 } | 1022 } |
| 1023 | 1023 |
| 1024 IN_PROC_BROWSER_TEST_F(SafeBrowsingServiceTest, | 1024 IN_PROC_BROWSER_TEST_F(SafeBrowsingServiceTest, |
| (...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1828 content::Source<SafeBrowsingDatabaseManager>( | 1828 content::Source<SafeBrowsingDatabaseManager>( |
| 1829 sb_factory_->test_safe_browsing_service()->database_manager().get())); | 1829 sb_factory_->test_safe_browsing_service()->database_manager().get())); |
| 1830 BrowserThread::PostTask( | 1830 BrowserThread::PostTask( |
| 1831 BrowserThread::IO, FROM_HERE, | 1831 BrowserThread::IO, FROM_HERE, |
| 1832 base::Bind(&SafeBrowsingDatabaseManagerCookieTest::ForceUpdate, | 1832 base::Bind(&SafeBrowsingDatabaseManagerCookieTest::ForceUpdate, |
| 1833 base::Unretained(this))); | 1833 base::Unretained(this))); |
| 1834 observer.Wait(); | 1834 observer.Wait(); |
| 1835 } | 1835 } |
| 1836 | 1836 |
| 1837 } // namespace safe_browsing | 1837 } // namespace safe_browsing |
| OLD | NEW |